12.3. 클러스터 API 컴퓨팅 머신 세트 생성

Cluster API를 사용하여 선택한 특정 워크로드의 머신 컴퓨팅 리소스를 동적으로 관리하는 컴퓨팅 머신 세트를 생성할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터를 배포합니다.
  • 클러스터 API 사용을 활성화합니다.
  • OpenShift CLI(oc)를 설치합니다.
  • cluster-admin 권한이 있는 사용자로 oc에 로그인합니다.

절차

  1. 클러스터 CR(사용자 정의 리소스)이 포함된 YAML 파일을 생성하고 이름이 < cluster_resource_file>.yaml 입니다.

    < cluster_name > 매개변수에 설정할 값이 확실하지 않은 경우 클러스터에서 기존 Machine API 컴퓨팅 머신 세트의 값을 확인할 수 있습니다.

    1. Machine API 컴퓨팅 머신 세트를 나열하려면 다음 명령을 실행합니다.

      $ oc get machinesets -n openshift-machine-api 1
      1
      openshift-machine-api 네임스페이스를 지정합니다.

      출력 예

      NAME                                DESIRED   CURRENT   READY   AVAILABLE   AGE
      agl030519-vplxk-worker-us-east-1a   1         1         1       1           55m
      agl030519-vplxk-worker-us-east-1b   1         1         1       1           55m
      agl030519-vplxk-worker-us-east-1c   1         1         1       1           55m
      agl030519-vplxk-worker-us-east-1d   0         0                             55m
      agl030519-vplxk-worker-us-east-1e   0         0                             55m
      agl030519-vplxk-worker-us-east-1f   0         0                             55m

    2. 특정 컴퓨팅 머신 세트 CR의 콘텐츠를 표시하려면 다음 명령을 실행합니다.

      $ oc get machineset <machineset_name> \
      -n openshift-machine-api \
      -o yaml

      출력 예

      ...
      template:
          metadata:
            labels:
              machine.openshift.io/cluster-api-cluster: agl030519-vplxk 1
              machine.openshift.io/cluster-api-machine-role: worker
              machine.openshift.io/cluster-api-machine-type: worker
              machine.openshift.io/cluster-api-machineset: agl030519-vplxk-worker-us-east-1a
      ...

      1
      <cluster _name> 매개변수에 사용하는 클러스터 ID입니다.
  2. 다음 명령을 실행하여 클러스터 CR을 생성합니다.

    $ oc create -f <cluster_resource_file>.yaml

    검증

    클러스터 CR이 생성되었는지 확인하려면 다음 명령을 실행합니다.

    $ oc get cluster

    출력 예

    NAME           PHASE        AGE  VERSION
    <cluster_name> Provisioning 4h6m

  3. 인프라 CR이 포함된 YAML 파일을 생성하고 이름이 < infrastructure_resource_file>.yaml 입니다.
  4. 다음 명령을 실행하여 인프라 CR을 생성합니다.

    $ oc create -f <infrastructure_resource_file>.yaml

    검증

    인프라 CR이 생성되었는지 확인하려면 다음 명령을 실행합니다.

    $ oc get <infrastructure_kind>

    여기서 <infrastructure_kind >는 해당 플랫폼에 해당하는 값입니다.

    출력 예

    NAME           CLUSTER        READY VPC BASTION IP
    <cluster_name> <cluster_name> true

  5. 머신 템플릿 CR이 포함된 YAML 파일을 생성하고 이름이 < machine_template_resource_file>.yaml 입니다.
  6. 다음 명령을 실행하여 머신 템플릿 CR을 생성합니다.

    $ oc create -f <machine_template_resource_file>.yaml

    검증

    머신 템플릿 CR이 생성되었는지 확인하려면 다음 명령을 실행합니다.

    $ oc get <machine_template_kind>

    여기서 <machine_template_kind >는 해당 플랫폼에 해당하는 값입니다.

    출력 예

    NAME            AGE
    <template_name> 77m

  7. 컴퓨팅 머신 세트 CR이 포함되어 있고 이름이 <machine_set_ resource_file>.yaml 인 YAML 파일을 생성합니다.
  8. 다음 명령을 실행하여 컴퓨팅 머신 세트 CR을 생성합니다.

    $ oc create -f <machine_set_resource_file>.yaml

    검증

    컴퓨팅 머신 세트 CR이 생성되었는지 확인하려면 다음 명령을 실행합니다.

    $ oc get machineset -n openshift-cluster-api 1
    1
    openshift-cluster-api 네임스페이스를 지정합니다.

    출력 예

    NAME               CLUSTER        REPLICAS READY AVAILABLE AGE VERSION
    <machine_set_name> <cluster_name> 1        1     1         17m

    새 컴퓨팅 머신 세트를 사용할 수 있으면 REPLICASAVAILABLE 값이 일치합니다. 컴퓨팅 머신 세트를 사용할 수 없는 경우 몇 분 기다렸다가 명령을 다시 실행합니다.

검증

  • 컴퓨팅 머신 세트가 원하는 구성에 따라 머신을 생성하는지 확인하려면 클러스터의 시스템 및 노드 목록을 검토할 수 있습니다.

    • 클러스터 API 시스템 목록을 보려면 다음 명령을 실행합니다.

      $ oc get machine -n openshift-cluster-api 1
      1
      openshift-cluster-api 네임스페이스를 지정합니다.

      출력 예

      NAME                           CLUSTER        NODENAME                               PROVIDERID    PHASE   AGE   VERSION
      <machine_set_name>-<string_id> <cluster_name> <ip_address>.<region>.compute.internal <provider_id> Running 8m23s

    • 노드 목록을 보려면 다음 명령을 실행합니다.

      $ oc get node

      출력 예

      NAME                                     STATUS ROLES  AGE   VERSION
      <ip_address_1>.<region>.compute.internal Ready  worker 5h14m v1.25.0
      <ip_address_2>.<region>.compute.internal Ready  master 5h19m v1.25.0
      <ip_address_3>.<region>.compute.internal Ready  worker 7m    v1.25.0