3.2. CLI를 사용하여 머신 세트 수정


머신 세트를 수정하면 업데이트된 MachineSet CR(사용자 정의 리소스)을 저장한 후 생성된 머신에만 변경 사항이 적용됩니다. 변경 사항은 기존 머신에는 영향을 미치지 않습니다. 머신 세트를 스케일링하여 업데이트된 구성을 반영하는 기존 머신을 새 머신으로 교체할 수 있습니다.

다른 변경을 수행하지 않고 머신 세트를 스케일링해야 하는 경우 머신을 삭제할 필요가 없습니다.

참고

기본적으로 OpenShift Container Platform 라우터 Pod는 머신에 배포됩니다. 라우터는 웹 콘솔을 포함한 일부 클러스터 리소스에 액세스해야 하므로 먼저 라우터 Pod를 재배치하지 않는 한 머신 세트를 0 으로 스케일링하지 마십시오.

전제 조건

  • OpenShift Container Platform 클러스터는 Machine API를 사용합니다.
  • OpenShift CLI(oc)를 사용하여 관리자로 클러스터에 로그인했습니다.

프로세스

  1. 머신 세트를 편집합니다.

    $ oc edit machineset <machine_set_name> -n openshift-machine-api
  2. 변경 사항을 적용하기 위해 머신 세트를 스케일링할 때 필요하므로 spec.replicas 필드의 값을 확인합니다.

    apiVersion: machine.openshift.io/v1beta1
    kind: MachineSet
    metadata:
      name: <machine_set_name>
      namespace: openshift-machine-api
    spec:
      replicas: 2 1
    # ...
    1
    이 절차의 예제에서는 replicas 값이 2 인 머신 세트를 보여줍니다.
  3. 원하는 구성 옵션으로 머신 세트 CR을 업데이트하고 변경 사항을 저장합니다.
  4. 다음 명령을 실행하여 업데이트된 머신 세트에서 관리하는 머신을 나열합니다.

    $ oc get -n openshift-machine-api machines -l machine.openshift.io/cluster-api-machineset=<machine_set_name>

    출력 예

    NAME                        PHASE     TYPE         REGION      ZONE         AGE
    <machine_name_original_1>   Running   m6i.xlarge   us-west-1   us-west-1a   4h
    <machine_name_original_2>   Running   m6i.xlarge   us-west-1   us-west-1a   4h

  5. 업데이트된 머신 세트에서 관리하는 각 머신에 대해 다음 명령을 실행하여 삭제 주석을 설정합니다.

    $ oc annotate machine/<machine_name_original_1> \
      -n openshift-machine-api \
      machine.openshift.io/delete-machine="true"
  6. 다음 명령을 실행하여 머신 세트를 복제본 수의 두 배로 스케일링합니다.

    $ oc scale --replicas=4 \1
      machineset <machine_set_name> \
      -n openshift-machine-api
    1
    원래 예제 값 24 로 두 배가됩니다.
  7. 다음 명령을 실행하여 업데이트된 머신 세트에서 관리하는 머신을 나열합니다.

    $ oc get -n openshift-machine-api machines -l machine.openshift.io/cluster-api-machineset=<machine_set_name>

    출력 예

    NAME                        PHASE          TYPE         REGION      ZONE         AGE
    <machine_name_original_1>   Running        m6i.xlarge   us-west-1   us-west-1a   4h
    <machine_name_original_2>   Running        m6i.xlarge   us-west-1   us-west-1a   4h
    <machine_name_updated_1>    Provisioned    m6i.xlarge   us-west-1   us-west-1a   55s
    <machine_name_updated_2>    Provisioning   m6i.xlarge   us-west-1   us-west-1a   55s

    새 머신이 Running 단계에 있는 경우 머신 세트를 원래 복제본 수로 확장할 수 있습니다.

  8. 다음 명령을 실행하여 머신 세트를 원래 복제본 수로 확장합니다.

    $ oc scale --replicas=2 \1
      machineset <machine_set_name> \
      -n openshift-machine-api
    1
    원래 예제 값인 2 입니다.

검증

  • 업데이트된 구성이 없는 머신이 삭제되었는지 확인하려면 다음 명령을 실행하여 업데이트된 머신 세트에서 관리하는 머신을 나열합니다.

    $ oc get -n openshift-machine-api machines -l machine.openshift.io/cluster-api-machineset=<machine_set_name>

    삭제가 진행되는 동안 출력 예

    NAME                        PHASE           TYPE         REGION      ZONE         AGE
    <machine_name_original_1>   Deleting        m6i.xlarge   us-west-1   us-west-1a   4h
    <machine_name_original_2>   Deleting        m6i.xlarge   us-west-1   us-west-1a   4h
    <machine_name_updated_1>    Running         m6i.xlarge   us-west-1   us-west-1a   5m41s
    <machine_name_updated_2>    Running         m6i.xlarge   us-west-1   us-west-1a   5m41s

    삭제가 완료되면 출력 예

    NAME                        PHASE           TYPE         REGION      ZONE         AGE
    <machine_name_updated_1>    Running         m6i.xlarge   us-west-1   us-west-1a   6m30s
    <machine_name_updated_2>    Running         m6i.xlarge   us-west-1   us-west-1a   6m30s

  • 업데이트된 머신 세트로 생성된 머신에 올바른 구성이 있는지 확인하려면 다음 명령을 실행하여 새 머신 중 하나에 대해 CR의 관련 필드를 검사합니다.

    $ oc describe machine <machine_name_updated_1> -n openshift-machine-api
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.