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


중요

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

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

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

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

사전 요구 사항

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

프로세스

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

    $ oc get <machine_template_kind> 
    1
    Copy to Clipboard Toggle word wrap
    1
    귀하의 플랫폼에 해당하는 값을 지정하세요. 유효한 값은 다음과 같습니다.
    Expand
    클러스터 인프라 제공자현재의

    Amazon Web Services

    AWSMachineTemplate

    Google Cloud Platform

    GCPMachineTemplate

    Microsoft Azure

    AzureMachineTemplate

    RHOSP

    OpenStackMachineTemplate

    VMware vSphere

    VSphereMachineTemplate

    베어 메탈

    Metal3MachineTemplate

    출력 예

    NAME              AGE
    <template_name>   77m
    Copy to Clipboard Toggle word wrap

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

    $ oc get <machine_template_kind> <template_name> -o yaml > <template_name>.yaml
    Copy to Clipboard Toggle word wrap

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

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

    • 사양 절의 매개변수는 공급자에 따라 다릅니다. 자세한 내용은 공급자의 샘플 클러스터 API 머신 템플릿 YAML을 참조하세요.
    • metadata.name 매개변수에는 기존 값과 다른 값을 사용해야 합니다.

      중요

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

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

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

다음 단계

  • 이 템플릿을 참조하는 모든 클러스터 API 컴퓨팅 머신 세트의 경우 spec.template.spec.infrastructureRef.name 매개변수를 업데이트하여 새 머신 템플릿 리소스의 metadata.name 값과 일치시킵니다. 자세한 내용은 "CLI를 사용하여 컴퓨팅 머신 세트 수정"을 참조하세요.

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

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

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

참고

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

업데이트된 구성을 반영하는 새 머신으로 기존 머신을 교체하려면 컴퓨팅 머신 세트를 확장하여 복제본 수를 두 배로 늘린 다음 복제본 수를 원래 수로 줄입니다.

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

참고

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

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

사전 요구 사항

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

프로세스

  1. 다음 명령을 실행하여 클러스터에 있는 컴퓨팅 머신 세트를 나열하세요.

    $ oc get machinesets.cluster.x-k8s.io -n openshift-cluster-api
    Copy to Clipboard Toggle word wrap

    출력 예

    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
    Copy to Clipboard Toggle word wrap

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

    $ oc edit machinesets.cluster.x-k8s.io <machine_set_name> \
      -n openshift-cluster-api
    Copy to Clipboard Toggle word wrap
  3. 변경 사항을 적용하기 위해 머신 세트를 확장할 때 필요하므로 spec.replicas 필드의 값을 기록해 두세요.

    apiVersion: cluster.x-k8s.io/v1beta1
    kind: MachineSet
    metadata:
      name: <machine_set_name>
      namespace: openshift-cluster-api
    spec:
      replicas: 2 
    1
    
    # ...
    Copy to Clipboard Toggle word wrap
    1
    이 절차의 예에서는 복제본 값이 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>
    Copy to Clipboard Toggle word wrap

    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
    Copy to Clipboard Toggle word wrap

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

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

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

    $ oc get machines.cluster.x-k8s.io \
      -n openshift-cluster-api \
      -l cluster.x-k8s.io/set-name=<machine_set_name>
    Copy to Clipboard Toggle word wrap

    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
    Copy to Clipboard Toggle word wrap

    새로운 머신이 실행 단계에 있을 때, 컴퓨팅 머신 세트를 원래 복제본 수로 확장할 수 있습니다.

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

    $ oc scale --replicas=2 \
    1
    
      machinesets.cluster.x-k8s.io <machine_set_name> \
      -n openshift-cluster-api
    Copy to Clipboard Toggle word wrap
    1
    원래 예제 값은 2 입니다.

검증

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

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

    $ oc get machines.cluster.x-k8s.io \
      -n openshift-cluster-api \
      cluster.x-k8s.io/set-name=<machine_set_name>
    Copy to Clipboard Toggle word wrap

    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
    Copy to Clipboard Toggle word wrap

    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
    Copy to Clipboard Toggle word wrap

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat