4.3. AWS에서 다중 아키텍처 컴퓨팅 시스템으로 클러스터 생성
다중 아키텍처 컴퓨팅 머신으로 AWS 클러스터를 생성하려면 먼저 다중 아키텍처 설치 프로그램 바이너리를 사용하여 단일 아키텍처 AWS 설치 관리자 프로비저닝 클러스터를 생성해야 합니다. AWS 설치에 대한 자세한 내용은 사용자 지정을 사용하여 AWS에 클러스터 설치를 참조하십시오. 그런 다음 ARM64 컴퓨팅 머신 세트를 AWS 클러스터에 추가할 수 있습니다.
4.3.1. 클러스터에 ARM64 컴퓨팅 머신 세트 추가
다중 아키텍처 컴퓨팅 머신을 사용하여 클러스터를 구성하려면 AWS ARM64 컴퓨팅 머신 세트를 생성해야 합니다. 클러스터에 ARM64 컴퓨팅 노드가 추가되어 클러스터에 다중 아키텍처 컴퓨팅 머신이 추가됩니다.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. - 설치 프로그램을 사용하여 다중 아키텍처 설치 프로그램 바이너리로 AMD64 단일 아키텍처 AWS 클러스터를 생성했습니다.
절차
컴퓨팅 머신 세트를 생성하고 수정하면 클러스터의 ARM64 컴퓨팅 노드를 제어합니다.
$ oc create -f aws-arm64-machine-set-0.yaml
ARM64 컴퓨팅 노드를 배포하는 샘플 YAML 컴퓨팅 머신 세트
apiVersion: machine.openshift.io/v1beta1 kind: MachineSet metadata: labels: machine.openshift.io/cluster-api-cluster: <infrastructure_id> 1 name: <infrastructure_id>-aws-arm64-machine-set-0 2 namespace: openshift-machine-api spec: replicas: 1 selector: matchLabels: machine.openshift.io/cluster-api-cluster: <infrastructure_id> 3 machine.openshift.io/cluster-api-machineset: <infrastructure_id>-<role>-<zone> 4 template: metadata: labels: machine.openshift.io/cluster-api-cluster: <infrastructure_id> machine.openshift.io/cluster-api-machine-role: <role> 5 machine.openshift.io/cluster-api-machine-type: <role> 6 machine.openshift.io/cluster-api-machineset: <infrastructure_id>-<role>-<zone> 7 spec: metadata: labels: node-role.kubernetes.io/<role>: "" providerSpec: value: ami: id: ami-02a574449d4f4d280 8 apiVersion: awsproviderconfig.openshift.io/v1beta1 blockDevices: - ebs: iops: 0 volumeSize: 120 volumeType: gp2 credentialsSecret: name: aws-cloud-credentials deviceIndex: 0 iamInstanceProfile: id: <infrastructure_id>-worker-profile 9 instanceType: m6g.xlarge 10 kind: AWSMachineProviderConfig placement: availabilityZone: us-east-1a 11 region: <region> 12 securityGroups: - filters: - name: tag:Name values: - <infrastructure_id>-worker-sg 13 subnet: filters: - name: tag:Name values: - <infrastructure_id>-private-<zone> tags: - name: kubernetes.io/cluster/<infrastructure_id> 14 value: owned - name: <custom_tag_name> value: <custom_tag_value> userDataSecret: name: worker-user-data
- 1 2 3 9 13 14
- 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID를 지정합니다. OpenShift CLI 패키지가 설치되어 있으면 다음 명령을 실행하여 인프라 ID를 얻을 수 있습니다.
$ oc get -o jsonpath=‘{.status.infrastructureName}{“\n”}’ infrastructure cluster
- 4 7
- 인프라 ID, 역할 노드 레이블 및 영역을 지정합니다.
- 5 6
- 추가할 역할 노드 레이블을 지정합니다.
- 8
- OpenShift Container Platform 노드의 AWS 영역에 대해 ARM64 지원 RHCOS(Red Hat Enterprise Linux CoreOS) Amazon 머신 이미지(AMI)를 지정합니다.
$ oc get configmap/coreos-bootimages \ -n openshift-machine-config-operator \ -o jsonpath='{.data.stream}' | jq \ -r '.architectures.<arch>.images.aws.regions."<region>".image'
- 10
- ARM64 지원 머신 유형을 지정합니다. 자세한 내용은 "AWS 64비트 ARM의 테스트 인스턴스 유형"을 참조하십시오.
- 11
- 영역을 지정합니다(예:
us-east-1a
). 선택한 영역에 64비트 ARM 시스템을 제공하는지 확인합니다. - 12
- 리전을 지정합니다(예:
us-east-1
). 선택한 영역에 64비트 ARM 시스템을 제공하는지 확인합니다.
검증
다음 명령을 입력하여 컴퓨팅 머신 세트 목록을 확인합니다.
$ oc get machineset -n openshift-machine-api
생성된 ARM64 머신 세트를 확인할 수 있습니다.
출력 예
NAME DESIRED CURRENT READY AVAILABLE AGE <infrastructure_id>-aws-arm64-machine-set-0 2 2 2 2 10m
다음 명령을 사용하여 노드가 준비되고 예약할 수 있는지 확인할 수 있습니다.
$ oc get nodes
추가 리소스