2.3. Azure Stack Hub에서 컴퓨팅 머신 세트 생성
Microsoft Azure Stack Hub의 OpenShift Container Platform 클러스터에서 특정 목적을 충족하기 위해 다른 컴퓨팅 머신 세트를 생성할 수 있습니다. 예를 들어, 지원되는 워크로드를 새 머신으로 이동할 수 있도록 인프라 머신 세트 및 관련 머신을 작성할 수 있습니다.
머신 API가 작동하는 클러스터에서만 고급 머신 관리 및 스케일링 기능을 사용할 수 있습니다. 사용자 프로비저닝 인프라가 있는 클러스터에는 Machine API를 사용하기 위해 추가 검증 및 구성이 필요합니다.
					인프라 플랫폼 유형이 none인 클러스터는 Machine API를 사용할 수 없습니다. 이 제한은 클러스터에 연결된 컴퓨팅 머신이 기능을 지원하는 플랫폼에 설치된 경우에도 적용됩니다. 설치 후에는 이 매개변수를 변경할 수 없습니다.
				
클러스터의 플랫폼 유형을 보려면 다음 명령을 실행합니다.
oc get infrastructure cluster -o jsonpath='{.status.platform}'
$ oc get infrastructure cluster -o jsonpath='{.status.platform}'2.3.1. Azure Stack Hub에서 컴퓨팅 머신 세트 사용자 정의 리소스의 샘플 YAML
					이 샘플 YAML은 리전의 1 Microsoft Azure 영역에서 실행되는 컴퓨팅 머신 세트를 정의하고 node-role.kubernetes.io/<role>: "" 로 레이블이 지정된 노드를 만듭니다.
				
					이 샘플에서 <infrastructure_id>는 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID 레이블이며 <role>은 추가할 노드 레이블입니다.
				
- 1 5 7 13 15 16 17 20
- 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로하는 인프라 ID를 지정합니다. OpenShift CLI 패키지가 설치되어 있으면 다음 명령을 실행하여 인프라 ID를 얻을 수 있습니다.oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 서브넷을 가져올 수 있습니다. oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.subnet}{"\n"}' \ get machineset/<infrastructure_id>-worker-centralus1$ oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.subnet}{"\n"}' \ get machineset/<infrastructure_id>-worker-centralus1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 vnet을 가져올 수 있습니다. oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.vnet}{"\n"}' \ get machineset/<infrastructure_id>-worker-centralus1$ oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.vnet}{"\n"}' \ get machineset/<infrastructure_id>-worker-centralus1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
- 2 3 8 9 11 18 19
- 추가할 노드 레이블을 지정합니다.
- 4 6 10
- 인프라 ID, 노드 레이블, 리전을 지정합니다.
- 14
- 머신을 배치할 리전을 지정합니다.
- 21
- 머신을 배치할 리전 내 영역을 지정합니다. 해당 리전이 지정한 영역을 지원하는지 확인합니다.
- 12
- 클러스터의 가용성 세트를 지정합니다.
2.3.2. 컴퓨팅 머신 세트 생성
설치 프로그램에서 생성한 컴퓨팅 머신 세트 외에도 고유한 머신 세트를 생성하여 선택한 특정 워크로드의 머신 컴퓨팅 리소스를 동적으로 관리할 수 있습니다.
사전 요구 사항
- OpenShift Container Platform 클러스터를 배포합니다.
- 
							OpenShift CLI(oc)를 설치합니다.
- 
							cluster-admin권한이 있는 사용자로oc에 로그인합니다.
- Azure Stack Hub 컴퓨팅 시스템을 배포할 가용성 세트를 생성합니다.
프로세스
- 컴퓨팅 머신 세트 CR(사용자 정의 리소스) 샘플이 포함된 새 YAML 파일을 만들고 - <file_name>.yaml이라는 이름을 지정합니다.- < - availabilitySet> , <- clusterID> , <- role> 매개변수 값을 설정해야 합니다.
- 선택 사항: 특정 필드에 설정할 값이 확실하지 않은 경우 클러스터에서 기존 컴퓨팅 머신 세트를 확인할 수 있습니다. - 클러스터의 컴퓨팅 머신 세트를 나열하려면 다음 명령을 실행합니다. - oc get machinesets -n openshift-machine-api - $ oc get machinesets -n openshift-machine-api- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 출력 예 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 특정 컴퓨팅 머신 세트 CR(사용자 정의 리소스)의 값을 보려면 다음 명령을 실행합니다. - oc get machineset <machineset_name> \ -n openshift-machine-api -o yaml - $ oc get machineset <machineset_name> \ -n openshift-machine-api -o yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 출력 예 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 다음 명령을 실행하여 - MachineSetCR을 생성합니다.- oc create -f <file_name>.yaml - $ oc create -f <file_name>.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
검증
- 다음 명령을 실행하여 컴퓨팅 머신 세트 목록을 확인합니다. - oc get machineset -n openshift-machine-api - $ oc get machineset -n openshift-machine-api- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 출력 예 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 새 컴퓨팅 머신 세트를 사용할 수 있으면 - DESIRED및- CURRENT값이 일치합니다. 컴퓨팅 머신 세트를 사용할 수 없는 경우 몇 분 기다렸다가 명령을 다시 실행합니다.
2.3.3. 클러스터 자동 스케일러의 GPU 머신 세트 레이블 지정
머신 세트 레이블을 사용하여 클러스터 자동 스케일러가 GPU 지원 노드를 배포하는 데 사용할 수 있는 시스템을 표시할 수 있습니다.
사전 요구 사항
- 클러스터는 클러스터 자동 스케일러를 사용합니다.
프로세스
- GPU 사용 노드를 배포하는 데 사용할 클러스터 자동 스케일러 시스템을 생성할 머신 세트에서 - cluster-api/accelerator레이블을 추가합니다.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 영숫자 문자-,_또는.로 구성되며 영숫자 문자로 시작하고 끝나는 레이블을 지정합니다. 예를 들어nvidia-t4를 사용하여 Nvidia T4 GPU를 표시하거나 A10G GPU의 경우nvidia-a10g를 사용할 수 있습니다.참고ClusterAutoscalerCR의spec.resourceLimits.gpus.type매개변수에 대해 이 레이블의 값을 지정해야 합니다. 자세한 내용은 "클러스터 자동 스케일러 리소스 정의"를 참조하십시오.
 
2.3.4. Azure 부팅 진단 활성화
머신 세트에서 생성하는 Azure 머신에서 부팅 진단을 활성화할 수 있습니다.
사전 요구 사항
- 기존 Microsoft Azure Stack Hub 클러스터가 있어야 합니다.
프로세스
- 스토리지 유형에 적용할 수 있는 - diagnostics구성을 머신 세트 YAML 파일의- providerSpec필드에 추가합니다.- Azure 관리 스토리지 계정의 경우: - providerSpec: diagnostics: boot: storageAccountType: AzureManaged- providerSpec: diagnostics: boot: storageAccountType: AzureManaged- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Azure 관리 스토리지 계정을 지정합니다.
 
- Azure Unmanaged 스토리지 계정의 경우: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 참고- Azure Blob Storage 데이터 서비스만 지원됩니다. 
 
검증
- Microsoft Azure 포털에서 머신 세트에서 배포한 머신의 부팅 진단 페이지를 검토하고 시스템의 직렬 로그를 볼 수 있는지 확인합니다.
2.3.5. 머신 세트의 고객 관리 암호화 키 활성화
Azure에 암호화 키를 제공하여 관리 대상 디스크의 데이터를 암호화할 수 있습니다. 시스템 API를 사용하여 고객 관리 키로 서버 측 암호화를 활성화할 수 있습니다.
고객 관리 키를 사용하려면 Azure Key Vault, 디스크 암호화 세트 및 암호화 키가 필요합니다. 디스크 암호화 세트는 CCO(Cloud Credential Operator)에 권한이 부여된 리소스 그룹에 있어야 합니다. 그렇지 않은 경우 디스크 암호화 세트에 추가 reader 역할을 부여해야 합니다.
프로세스
- 머신 세트 YAML 파일의 - providerSpec필드에 설정된 디스크 암호화를 구성합니다. 예를 들면 다음과 같습니다.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow