13.3. 클러스터 API를 사용하여 머신 관리


중요

클러스터 API를 사용하여 머신을 관리하는 것은 기술 프리뷰 기능만 해당합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

13.3.1. 클러스터 API 머신 템플릿 수정

YAML 매니페스트 파일을 수정하고 OpenShift CLI(oc)로 적용하여 클러스터의 머신 템플릿 리소스를 업데이트할 수 있습니다.

사전 요구 사항

  • 클러스터 API를 사용하는 OpenShift Container Platform 클러스터를 배포했습니다.
  • cluster-admin 권한이 있는 계정을 사용하여 클러스터에 액세스할 수 있습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.

프로세스

  1. 다음 명령을 실행하여 클러스터의 머신 템플릿 리소스를 나열합니다.

    $ oc get <machine_template_kind> 1
    1
    플랫폼에 해당하는 값을 지정합니다. 다음 값이 유효합니다.
    • AWSMachineTemplate: 클러스터가 AWS(Amazon Web Services)에서 실행되고 있습니다.
    • GCPMachineTemplate: 클러스터가 GCP(Google Cloud Platform)에서 실행되고 있습니다.
    • VSphereMachineTemplate: 클러스터가 VMware vSphere에서 실행되고 있습니다.

    출력 예

    NAME              AGE
    <template_name>   77m

  2. 다음 명령을 실행하여 편집할 수 있는 파일에 클러스터의 머신 템플릿 리소스를 작성합니다.

    $ oc get <template_name> -o yaml > <template_name>.yaml

    여기서 <template_name >은 클러스터의 머신 템플릿 리소스의 이름입니다.

  3. 다른 이름으로 < template_name>.yaml 파일의 사본을 만듭니다. 이 절차에서는 & lt;modified_template_name>.yaml 을 예제 파일 이름으로 사용합니다.
  4. 텍스트 편집기를 사용하여 클러스터에 대해 업데이트된 머신 템플릿 리소스를 정의하는 < modified_template_name>.yaml 파일을 변경합니다. 머신 템플릿 리소스를 편집할 때 다음을 관찰합니다.

    • spec 스탠자의 매개변수는 공급자별로 다릅니다. 자세한 내용은 공급자의 샘플 Cluster API 머신 템플릿 YAML을 참조하십시오.
    • 기존 값과 다른 metadata.name 매개변수에 값을 사용해야 합니다.

      중요

      이 템플릿을 참조하는 Cluster API 컴퓨팅 머신 세트의 경우 새 머신 템플릿 리소스의 metadata.name 값과 일치하도록 spec.template.spec.infrastructureRef.name 매개변수를 업데이트해야 합니다.

  5. 다음 명령을 실행하여 머신 템플릿 CR을 적용합니다.

    $ oc apply -f <modified_template_name>.yaml 1
    1
    편집된 YAML 파일을 새 이름으로 사용합니다.

다음 단계

  • 이 템플릿을 참조하는 Cluster API 컴퓨팅 머신 세트의 경우 새 머신 템플릿 리소스의 metadata.name 값과 일치하도록 spec.template.spec.infrastructureRef.name 매개변수를 업데이트합니다. 자세한 내용은 "CLI를 사용하여 설정된 컴퓨팅 머신 수정"을 참조하십시오.

13.3.2. CLI를 사용하여 컴퓨팅 머신 세트 수정

컴퓨팅 머신 세트의 구성을 수정한 다음 CLI를 사용하여 변경 사항을 클러스터의 머신에 전파할 수 있습니다.

컴퓨팅 머신 세트 구성을 업데이트하면 기능을 활성화하거나 생성하는 시스템의 속성을 변경할 수 있습니다. 컴퓨팅 머신 세트를 수정할 때 변경 사항은 업데이트된 MachineSet CR(사용자 정의 리소스)을 저장한 후 생성된 컴퓨팅 머신에만 적용됩니다. 변경 사항은 기존 머신에는 영향을 미치지 않습니다.

참고

기본 클라우드 공급자의 변경 사항은 Machine 또는 MachineSet CR에 반영되지 않습니다. 클러스터 관리 인프라에서 인스턴스 구성을 조정하려면 클러스터 측 리소스를 사용합니다.

컴퓨팅 머신 세트를 스케일링하여 복제본 수를 두 배로 만든 다음 원래 복제본 수로 축소하여 업데이트된 구성을 반영하는 기존 머신을 새 시스템으로 교체할 수 있습니다.

다른 변경을 수행하지 않고 컴퓨팅 머신 세트를 확장해야하는 경우 머신을 삭제할 필요가 없습니다.

참고

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

이 절차의 출력 예제에서는 AWS 클러스터 값을 사용합니다.

사전 요구 사항

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

프로세스

  1. 다음 명령을 실행하여 클러스터의 컴퓨팅 머신 세트를 나열합니다.

    $ oc get machinesets.cluster.x-k8s.io -n openshift-cluster-api

    출력 예

    NAME                          CLUSTER             REPLICAS   READY   AVAILABLE   AGE   VERSION
    <compute_machine_set_name_1>  <cluster_name>      1          1       1           26m
    <compute_machine_set_name_2>  <cluster_name>      1          1       1           26m

  2. 다음 명령을 실행하여 컴퓨팅 머신 세트를 편집합니다.

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

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

    $ oc get machines.cluster.x-k8s.io \
      -n openshift-cluster-api \
      -l cluster.x-k8s.io/set-name=<machine_set_name>

    AWS 클러스터의 출력 예

    NAME                        CLUSTER          NODENAME                                    PROVIDERID                              PHASE           AGE     VERSION
    <machine_name_original_1>   <cluster_name>   <original_1_ip>.<region>.compute.internal   aws:///us-east-2a/i-04e7b2cbd61fd2075   Running         4h
    <machine_name_original_2>   <cluster_name>   <original_2_ip>.<region>.compute.internal   aws:///us-east-2a/i-04e7b2cbd61fd2075   Running         4h

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

    $ oc annotate machines.cluster.x-k8s.io/<machine_name_original_1> \
      -n openshift-cluster-api \
      cluster.x-k8s.io/delete-machine="true"
  7. 새 구성으로 대체 머신을 생성하려면 다음 명령을 실행하여 컴퓨팅 머신 세트를 복제본 수의 두 배로 스케일링합니다.

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

    $ oc get machines.cluster.x-k8s.io \
      -n openshift-cluster-api \
      -l cluster.x-k8s.io/set-name=<machine_set_name>

    AWS 클러스터의 출력 예

    NAME                        CLUSTER          NODENAME                                    PROVIDERID                              PHASE           AGE     VERSION
    <machine_name_original_1>   <cluster_name>   <original_1_ip>.<region>.compute.internal   aws:///us-east-2a/i-04e7b2cbd61fd2075   Running         4h
    <machine_name_original_2>   <cluster_name>   <original_2_ip>.<region>.compute.internal   aws:///us-east-2a/i-04e7b2cbd61fd2075   Running         4h
    <machine_name_updated_1>    <cluster_name>   <updated_1_ip>.<region>.compute.internal    aws:///us-east-2a/i-04e7b2cbd61fd2075   Provisioned     55s
    <machine_name_updated_2>    <cluster_name>   <updated_2_ip>.<region>.compute.internal    aws:///us-east-2a/i-04e7b2cbd61fd2075   Provisioning    55s

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

  9. 이전 구성으로 생성된 머신을 제거하려면 다음 명령을 실행하여 컴퓨팅 머신 세트를 원래 복제본 수로 확장합니다.

    $ oc scale --replicas=2 \1
      machinesets.cluster.x-k8s.io <machine_set_name> \
      -n openshift-cluster-api
    1
    원래 예제 값인 2 입니다.

검증

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

    $ oc describe machines.cluster.x-k8s.io <machine_name_updated_1> \
      -n openshift-cluster-api
  • 업데이트된 구성이 없는 컴퓨팅 머신이 삭제되었는지 확인하려면 다음 명령을 실행하여 업데이트된 컴퓨팅 시스템 세트에서 관리하는 머신을 나열합니다.

    $ oc get machines.cluster.x-k8s.io \
      -n openshift-cluster-api \
      cluster.x-k8s.io/set-name=<machine_set_name>

    AWS 클러스터의 삭제가 진행되는 동안 출력 예

    NAME                        CLUSTER          NODENAME                                    PROVIDERID                              PHASE      AGE     VERSION
    <machine_name_original_1>   <cluster_name>   <original_1_ip>.<region>.compute.internal   aws:///us-east-2a/i-04e7b2cbd61fd2075   Running    18m
    <machine_name_original_2>   <cluster_name>   <original_2_ip>.<region>.compute.internal   aws:///us-east-2a/i-04e7b2cbd61fd2075   Running    18m
    <machine_name_updated_1>    <cluster_name>   <updated_1_ip>.<region>.compute.internal    aws:///us-east-2a/i-04e7b2cbd61fd2075   Running    18m
    <machine_name_updated_2>    <cluster_name>   <updated_2_ip>.<region>.compute.internal    aws:///us-east-2a/i-04e7b2cbd61fd2075   Running    18m

    AWS 클러스터의 삭제가 완료된 때의 출력 예

    NAME                        CLUSTER          NODENAME                                    PROVIDERID                              PHASE      AGE     VERSION
    <machine_name_updated_1>    <cluster_name>   <updated_1_ip>.<region>.compute.internal    aws:///us-east-2a/i-04e7b2cbd61fd2075   Running    18m
    <machine_name_updated_2>    <cluster_name>   <updated_2_ip>.<region>.compute.internal    aws:///us-east-2a/i-04e7b2cbd61fd2075   Running    18m

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.