16.4. Outpost에 엣지 컴퓨팅 머신을 배포하는 컴퓨팅 머신 세트 생성
AWS Outposts에서 엣지 컴퓨팅 머신을 생성하려면 호환되는 구성으로 새 컴퓨팅 머신 세트를 생성해야 합니다.
사전 요구 사항
- AWS Outposts가 있습니다.
- AWS의 사용자 지정 VPC에 OpenShift Container Platform 클러스터를 설치했습니다.
-
cluster-admin
권한이 있는 계정을 사용하여 클러스터에 액세스할 수 있습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다.
프로세스
다음 명령을 실행하여 클러스터의 컴퓨팅 머신 세트를 나열합니다.
$ oc get machinesets.machine.openshift.io -n openshift-machine-api
출력 예
NAME DESIRED CURRENT READY AVAILABLE AGE <original_machine_set_name_1> 1 1 1 1 55m <original_machine_set_name_2> 1 1 1 1 55m
- 기존 컴퓨팅 머신 세트의 이름을 기록합니다.
다음 방법 중 하나를 사용하여 새 컴퓨팅 머신 세트 CR(사용자 정의 리소스)의 값이 포함된 YAML 파일을 생성합니다.
다음 명령을 실행하여 기존 컴퓨팅 머신 세트 구성을 새 파일에 복사합니다.
$ oc get machinesets.machine.openshift.io <original_machine_set_name_1> \ -n openshift-machine-api -o yaml > <new_machine_set_name_1>.yaml
기본 텍스트 편집기를 사용하여 이 YAML 파일을 편집할 수 있습니다.
원하는 텍스트 편집기를 사용하여 <
new_machine_set_name_1>.yaml
이라는 빈 YAML 파일을 생성하고 새 컴퓨팅 머신 세트에 필요한 값을 포함합니다.특정 필드에 설정할 값이 확실하지 않은 경우 다음 명령을 실행하여 기존 컴퓨팅 머신 세트 CR의 값을 볼 수 있습니다.
$ oc get machinesets.machine.openshift.io <original_machine_set_name_1> \ -n openshift-machine-api -o yaml
출력 예
apiVersion: machine.openshift.io/v1beta1 kind: MachineSet metadata: labels: machine.openshift.io/cluster-api-cluster: <infrastructure_id> 1 name: <infrastructure_id>-<role>-<availability_zone> 2 namespace: openshift-machine-api spec: replicas: 1 selector: matchLabels: machine.openshift.io/cluster-api-cluster: <infrastructure_id> machine.openshift.io/cluster-api-machineset: <infrastructure_id>-<role>-<availability_zone> template: metadata: labels: machine.openshift.io/cluster-api-cluster: <infrastructure_id> machine.openshift.io/cluster-api-machine-role: <role> machine.openshift.io/cluster-api-machine-type: <role> machine.openshift.io/cluster-api-machineset: <infrastructure_id>-<role>-<availability_zone> spec: providerSpec: 3 # ...
<new_machine_set
_name_1>.yaml 파일을 편집하여 Outpost에서 에지 컴퓨팅 머신을 생성하도록 새 컴퓨팅 머신 세트를 구성합니다.
AWS Outposts의 컴퓨팅 머신 세트의 예
apiVersion: machine.openshift.io/v1beta1 kind: MachineSet metadata: labels: machine.openshift.io/cluster-api-cluster: <infrastructure_id> 1 name: <infrastructure_id>-outposts-<availability_zone> 2 namespace: openshift-machine-api spec: replicas: 1 selector: matchLabels: machine.openshift.io/cluster-api-cluster: <infrastructure_id> machine.openshift.io/cluster-api-machineset: <infrastructure_id>-outposts-<availability_zone> template: metadata: labels: machine.openshift.io/cluster-api-cluster: <infrastructure_id> machine.openshift.io/cluster-api-machine-role: outposts machine.openshift.io/cluster-api-machine-type: outposts machine.openshift.io/cluster-api-machineset: <infrastructure_id>-outposts-<availability_zone> spec: metadata: labels: node-role.kubernetes.io/outposts: "" location: outposts providerSpec: value: ami: id: <ami_id> 3 apiVersion: machine.openshift.io/v1beta1 blockDevices: - ebs: volumeSize: 120 volumeType: gp2 4 credentialsSecret: name: aws-cloud-credentials deviceIndex: 0 iamInstanceProfile: id: <infrastructure_id>-worker-profile instanceType: m5.xlarge 5 kind: AWSMachineProviderConfig placement: availabilityZone: <availability_zone> region: <region> 6 securityGroups: - filters: - name: tag:Name values: - <infrastructure_id>-worker-sg subnet: id: <subnet_id> 7 tags: - name: kubernetes.io/cluster/<infrastructure_id> value: owned userDataSecret: name: worker-user-data taints: 8 - key: node-role.kubernetes.io/outposts effect: NoSchedule
- 1
- 클러스터 인프라 ID를 지정합니다.
- 2
- 컴퓨팅 머신 세트의 이름을 지정합니다. 이름은 클러스터 인프라 ID, outpost
s 역할
이름 및 Outpost 가용성 영역으로 구성됩니다. - 3
- AMI(Amazon Machine Image) ID를 지정합니다.
- 4
- EBS 볼륨 유형을 지정합니다. AWS Outposts에는 gp2 볼륨이 필요합니다.
- 5
- AWS 인스턴스 유형을 지정합니다. Outpost에 구성된 인스턴스 유형을 사용해야 합니다.
- 6
- Outpost 가용성 영역이 존재하는 AWS 리전을 지정합니다.
- 7
- Outpost의 전용 서브넷을 지정합니다.
- 8
node-role.kubernetes.io/outposts
라벨이 있는 노드에서 워크로드가 예약되지 않도록 테인트를 지정합니다. Outpost에서 사용자 워크로드를 예약하려면 애플리케이션의배포
리소스에 해당 허용 오차를 지정해야 합니다.
- 변경 사항을 저장하십시오.
다음 명령을 실행하여 컴퓨팅 머신 세트 CR을 생성합니다.
$ oc create -f <new_machine_set_name_1>.yaml
검증
컴퓨팅 머신 세트가 생성되었는지 확인하려면 다음 명령을 실행하여 클러스터의 컴퓨팅 머신 세트를 나열합니다.
$ oc get machinesets.machine.openshift.io -n openshift-machine-api
출력 예
NAME DESIRED CURRENT READY AVAILABLE AGE <new_machine_set_name_1> 1 1 1 1 4m12s <original_machine_set_name_1> 1 1 1 1 55m <original_machine_set_name_2> 1 1 1 1 55m
새 컴퓨팅 머신 세트에서 관리하는 머신을 나열하려면 다음 명령을 실행합니다.
$ oc get -n openshift-machine-api machines.machine.openshift.io \ -l machine.openshift.io/cluster-api-machineset=<new_machine_set_name_1>
출력 예
NAME PHASE TYPE REGION ZONE AGE <machine_from_new_1> Provisioned m5.xlarge us-east-1 us-east-1a 25s <machine_from_new_2> Provisioning m5.xlarge us-east-1 us-east-1a 25s
새 컴퓨팅 머신 세트로 생성한 머신에 올바른 구성이 있는지 확인하려면 다음 명령을 실행하여 새 머신 중 하나에 대해 CR의 관련 필드를 검사합니다.
$ oc describe machine <machine_from_new_1> -n openshift-machine-api