This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.7.2. 프로덕션 환경의 인프라 머신 세트 생성
프로덕션 배포에서는 인프라 구성 요소를 유지하기 위해 3개 이상의 머신 세트를 배포하는 것이 좋습니다. OpenShift Logging 및 Red Hat OpenShift Service Mesh는 모두 Elasticsearch를 배포합니다. 이 경우 서로 다른 노드에 3개의 인스턴스를 설치해야 합니다. 이러한 각 노드는 고가용성을 위해 다양한 가용 영역에 배포할 수 있습니다. 이와 같은 구성에는 가용성 영역마다 하나씩 세 개의 다른 시스템 집합이 필요합니다. 여러 가용성 영역이 없는 글로벌 Azure 리전에서는 가용성 세트를 사용하여 고가용성을 보장할 수 있습니다.
7.2.1. 다른 클라우드의 머신 세트 생성 링크 복사링크가 클립보드에 복사되었습니다!
클라우드에 샘플 머신 세트를 사용합니다.
7.2.1.1. AWS에서 머신 세트 사용자 지정 리소스의 샘플 YAML 링크 복사링크가 클립보드에 복사되었습니다!
이 샘플 YAML은 us-east-1a
AWS(Amazon Web Services) 영역에서 실행되는 머신 세트를 정의하고 node-role.kubernetes.io/infra: ""
로 레이블이 지정된 노드를 생성합니다.
이 샘플에서 <infrastructure_id>
는 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID 레이블이며 <infra>
는 추가할 노드 레이블입니다.
- 1 3 5 12 13 14 15
- 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID를 지정합니다. OpenShift CLI 패키지가 설치되어 있으면 다음 명령을 실행하여 인프라 ID를 얻을 수 있습니다.
oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2 4 8
- 인프라 ID,
<infra>
노드 레이블 및 영역을 지정합니다. - 6 7 9
<infra>
노드 레이블을 지정합니다.- 10
- 사용자 워크로드가 인프라 노드에서 예약되지 않도록 테인트를 지정합니다.
- 11
- OpenShift Container Platform 노드의 AWS(Amazon Web Services) 영역에 유효한 RHCOS(Red Hat Enterprise Linux CoreOS) AMI를 지정합니다.
oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.ami.id}{"\n"}' \ get machineset/<infrastructure_id>-worker-<zone>
$ oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.ami.id}{"\n"}' \ get machineset/<infrastructure_id>-worker-<zone>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
AWS에서 실행되는 머신 세트는 보장되지 않는 Spot 인스턴스를 지원합니다. AWS의 온 디맨드 인스턴스에 비해 저렴한 가격으로 Spot 인스턴스를 사용하여 비용을 절약할 수 있습니다. spotMarketOptions
를 MachineSet
YAML 파일에 추가하여 Spot 인스턴스를 구성합니다.
7.2.1.2. Azure의 머신 세트사용자 지정 리소스에 대한 샘플 YAML 링크 복사링크가 클립보드에 복사되었습니다!
이 샘플 YAML은 리전의 1
Microsoft Azure 영역에서 실행되는 머신 세트를 정의하고 node-role.kubernetes.io/infra: ""
로 레이블이 지정된 노드를 만듭니다.
이 샘플에서 <infrastructure_id>
는 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID 레이블이며 <infra>
는 추가할 노드 레이블입니다.
- 1 5 7 13 15 16 17 20
- 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID를 지정합니다. OpenShift CLI 패키지가 설치되어 있으면 다음 명령을 실행하여 인프라 ID를 얻을 수 있습니다.
oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 서브넷을 가져올 수 있습니다.
oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.subnet}{"\n"}' \ get machineset/<infrastructure_id>-worker-centralus1
$ oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.subnet}{"\n"}' \ get machineset/<infrastructure_id>-worker-centralus1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 vnet을 가져올 수 있습니다.
oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.vnet}{"\n"}' \ get machineset/<infrastructure_id>-worker-centralus1
$ oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.vnet}{"\n"}' \ get machineset/<infrastructure_id>-worker-centralus1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2 3 8 9 11 18 19
<infra>
노드 레이블을 지정합니다.- 4 6 10
- 인프라 ID,
<infra>
노드 레이블 및 리전을 지정합니다. - 12
- 사용자 워크로드가 인프라 노드에서 예약되지 않도록 테인트를 지정합니다.
- 14
- 머신을 배치할 리전을 지정합니다.
- 21
- 머신을 배치할 리전 내 영역을 지정합니다. 해당 리전이 지정한 영역을 지원하는지 확인합니다.
Azure에서 실행되는 머신 세트는 보장되지 않는 Spot 가상 머신을 지원합니다. Azure의 표준 가상 머신에 비해 더 낮은 가격으로 Spot 가상 머신을 사용하여 비용을 절감할 수 있습니다. spotVMOptions
를 MachineSet
YAML 파일에 추가하여 Spot 가상 머신을 구성할 수 있습니다.
7.2.1.3. GCP에서 머신 세트 사용자 정의 리소스의 샘플 YAML 링크 복사링크가 클립보드에 복사되었습니다!
이 샘플 YAML은 GCP(Google Cloud Platform)에서 실행되는 머신 세트를 정의하고 node-role.kubernetes.io/infra: ""
로 레이블이 지정된 노드를 생성합니다.
이 샘플에서 <infrastructure_id>
는 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID 레이블이며 <infra>
는 추가할 노드 레이블입니다.
- 1 2 3 4 5 8 13 14 16 18
- 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID를 지정합니다. OpenShift CLI 패키지가 설치되어 있으면 다음 명령을 실행하여 인프라 ID를 얻을 수 있습니다.
oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 6 7 9
<infra>
노드 레이블을 지정합니다.- 10
- 사용자 워크로드가 인프라 노드에서 예약되지 않도록 테인트를 지정합니다.
- 11
- 현재 머신 세트에서 사용되는 이미지의 경로를 지정합니다. OpenShift CLI가 설치되어 있으면 다음 명령을 실행하여 이미지에 대한 경로를 얻을 수 있습니다.
oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.disks[0].image}{"\n"}' \ get machineset/<infrastructure_id>-worker-a
$ oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.disks[0].image}{"\n"}' \ get machineset/<infrastructure_id>-worker-a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 12
- 선택 사항:
키:값
쌍의 형식으로 사용자 정의 메타데이터를 지정합니다. 예를 들어 사용자 정의 메타데이터 설정에 대한 GCP 설명서를 참조하십시오. - 15 17
- 클러스터에 사용하는 GCP 프로젝트의 이름을 지정합니다.
GCP에서 실행되는 머신 세트는 보장되지 않은 선점 가능한 가상 머신 인스턴스를 지원합니다. GCP의 일반 인스턴스에 비해 더 낮은 가격으로 선점 가능한 가상 머신 인스턴스를 사용하여 비용을 절감할 수 있습니다. preemptible
을 MachineSet
YAML 파일에 추가하고 선점할 수 있는 가상 머신 인스턴스를 구성할 수 있습니다.
7.2.1.4. RHOSP에서 머신 세트 사용자 정의 리소스의 샘플 YAML 링크 복사링크가 클립보드에 복사되었습니다!
이 샘플 YAML은 RHOSP(Red Hat OpenStack Platform)에서 실행되는 머신 세트를 정의하고 node-role.kubernetes.io/infra: ""
로 레이블이 지정된 노드를 생성합니다.
이 샘플에서 <infrastructure_id>
는 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID 레이블이며 <infra>
는 추가할 노드 레이블입니다.
- 1 5 7 14 16 17 18 19
- 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID를 지정합니다. OpenShift CLI 패키지가 설치되어 있으면 다음 명령을 실행하여 인프라 ID를 얻을 수 있습니다.
oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2 3 8 9 20
<infra>
노드 레이블을 지정합니다.- 4 6 10
- 인프라 ID 및
<infra>
노드 레이블을 지정합니다. - 11
- 사용자 워크로드가 인프라 노드에서 예약되지 않도록 테인트를 지정합니다.
- 12
- MachineSet의 서버 그룹 정책을 설정하려면, 서버 그룹 생성에서 반환된 값을 입력합니다. 대부분의 배포에는
anti-affinity
또는soft-anti-affinity
정책이 권장됩니다. - 13
- 여러 네트워크에 배포해야 합니다. 여러 네트워크에 배포하는 경우 이 목록에는
primarySubnet
값으로 사용되는 네트워크를 포함해야 합니다. - 15
- 노드 엔드포인트를 게시할 RHOSP 서브넷을 지정합니다. 일반적으로 이 서브넷은
install-config.yaml
파일에서machineSubnet
값으로 사용되는 서브넷과 동일합니다.
7.2.1.5. RHV에서 머신 세트 사용자 정의 리소스의 샘플 YAML 링크 복사링크가 클립보드에 복사되었습니다!
이 샘플 YAML은 RHV에서 실행되는 머신 세트를 정의하고 node-role.kubernetes.io/<role>: ""
로 레이블이 지정된 노드를 만듭니다.
이 샘플에서 <infrastructure_id>
는 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID 레이블이며 <role>
은 추가할 노드 레이블입니다.
- 1 7 9
- 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로하는 인프라 ID를 지정합니다. OpenShift CLI (
oc
) 패키지가 설치되어 있으면 다음 명령을 실행하여 인프라 ID를 얻을 수 있습니다.oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2 3 10 11 13
- 추가할 노드 레이블을 지정합니다.
- 4 8 12
- 인프라 ID 및 노드 레이블을 지정합니다. 이 두 문자열은 35자를 초과할 수 없습니다.
- 5
- 생성할 머신 수를 지정합니다.
- 6
- 머신의 선택기입니다.
- 14
- 이 VM 인스턴스가 속하는 RHV 클러스터의 UUID를 지정합니다.
- 15
- 머신을 생성하는 데 사용할 RHV VM 템플릿을 지정합니다.
- 16
- 선택 사항: VM 인스턴스 유형을 지정합니다.주의
instance_type_id
필드는 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.이 매개변수를 포함하는 경우 이 매개변수는 모든 하드웨어 매개변수를 재정의하므로 CPU 및 메모리를 포함한 VM의 하드웨어 매개변수를 지정할 필요가 없습니다.
- 17
- 선택 사항: CPU 필드에는 소켓, 코어, 스레드를 포함한 CPU 구성이 포함됩니다.
- 18
- 선택 사항: VM의 소켓 수를 지정합니다.
- 19
- 선택 사항: 소켓당 코어 수를 지정합니다.
- 20
- 선택 사항: 코어당 스레드 수를 지정합니다.
- 21
- 선택 사항: VM의 메모리 크기를 MiB 단위로 지정합니다.
- 22
- 선택 사항: 노드의 루트 디스크.
- 23
- 선택 사항: 부팅 가능한 디스크의 크기를 GiB로 지정합니다.
- 24
- 선택 사항: VM의 네트워크 인터페이스 목록입니다. 이 매개변수를 포함하는 경우 OpenShift Container Platform은 템플릿에서 모든 네트워크 인터페이스를 삭제하고 새 네트워크 인터페이스를 생성합니다.
- 25
- 선택 사항: vNIC 프로필 ID를 지정합니다.
- 26
- RHV 인증 정보를 보유한 시크릿 이름을 지정합니다.
- 27
- 선택 사항: 인스턴스가 최적화된 워크로드 유형을 지정합니다. 이 값은
RHV VM
매개변수에 영향을 미칩니다. 지원되는 값:desktop
,server
(기본값),high_performance
.high_performance
는 VM의 성능을 향상하지만 제한 사항이 있습니다. 예를 들어 그래픽 콘솔을 사용하여 VM에 액세스할 수 없습니다. 자세한 내용은 가상 머신 관리 가이드에서 고성능 가상 머신, 템플릿 및 풀 구성을 참조하십시오.
RHV는 VM을 생성할 때 템플릿을 사용하므로 선택적 매개변수에 대한 값을 지정하지 않으면 RHV는 템플릿에 지정된 해당 매개변수의 값을 사용합니다.
7.2.1.6. vSphere에서 머신 세트 사용자 정의 리소스의 샘플 YAML 링크 복사링크가 클립보드에 복사되었습니다!
이 샘플 YAML은 VMware vSphere에서 실행되는 머신 세트를 정의하고 node-role.kubernetes.io/infra: ""
로 레이블이 지정된 노드를 만듭니다.
이 샘플에서 <infrastructure_id>
는 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID 레이블이며 <infra>
는 추가할 노드 레이블입니다.
- 1 3 5
- 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID를 지정합니다. OpenShift CLI (
oc
) 패키지가 설치되어 있으면 다음 명령을 실행하여 인프라 ID를 얻을 수 있습니다.oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2 4 8
- 인프라 ID 및
<infra>
노드 레이블을 지정합니다. - 6 7 9
<infra>
노드 레이블을 지정합니다.- 10
- 사용자 워크로드가 인프라 노드에서 예약되지 않도록 테인트를 지정합니다.
- 11
- 머신 세트를 배포할 vSphere VM 네트워크를 지정합니다. 이 VM 네트워크는 다른 컴퓨팅 시스템이 클러스터에 있는 위치여야 합니다.
- 12
- 사용할 vSphere VM 템플릿 (예:
user-5ddjd-rhcos)
을 지정합니다. - 13
- 머신 세트를 배포할 vCenter Datacenter를 지정합니다.
- 14
- 머신 세트를 배포할 vCenter Datastore를 지정합니다.
- 15
- vCenter의 vSphere VM 폴더에 경로(예:
/dc1/vm/user-inst-5ddjd
)를 지정합니다. - 16
- VM의 vSphere 리소스 풀을 지정합니다.
- 17
- vCenter 서버 IP 또는 정규화된 도메인 이름을 지정합니다.