3.14. 매니페스트 구성 파일
3.14.1. OpenShift Container Platform 매니페스트 만들기 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 매니페스트를 만듭니다.
./openshift-baremetal-install --dir ~/clusterconfigs create manifests
$ ./openshift-baremetal-install --dir ~/clusterconfigs create manifests
Copy to Clipboard Copied! Toggle word wrap Toggle overflow INFO Consuming Install Config from target directory WARNING Making control-plane schedulable by setting MastersSchedulable to true for Scheduler cluster settings WARNING Discarding the OpenShift Manifest that was provided in the target directory because its dependencies are dirty and it needs to be regenerated
INFO Consuming Install Config from target directory WARNING Making control-plane schedulable by setting MastersSchedulable to true for Scheduler cluster settings WARNING Discarding the OpenShift Manifest that was provided in the target directory because its dependencies are dirty and it needs to be regenerated
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.14.2. 선택사항: 연결이 끊긴 클러스터의 NTP 구성 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform은 클러스터 노드에 chrony
Network Time Protocol(NTP) 서비스를 설치합니다.
OpenShift Container Platform 노드는 올바로 실행되려면 날짜와 시간에 동의해야 합니다. 컴퓨팅 노드가 컨트롤 플레인 노드의 NTP 서버에서 날짜와 시간을 검색할 때 라우팅 가능한 네트워크에 연결되지 않은 클러스터를 설치 및 실행할 수 있으므로 상위 계층 NTP 서버에 액세스할 수 없습니다.
프로세스
다음 명령을 사용하여 설치 호스트에 Butane을 설치합니다.
sudo dnf -y install butane
$ sudo dnf -y install butane
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 컨트롤 플레인 노드에 대한
chrony.conf
파일의 콘텐츠를 포함하여 Butane 구성,99-master-chrony-conf-override.bu
를 만듭니다.참고Butane에 대한 자세한 내용은 “Butane 을 사용하여 머신 구성 생성”을 참조하십시오.
Butane 구성의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<cluster-name>
을 클러스터 이름으로 바꾸고<domain>
을 정규화된 도메인 이름으로 교체해야 합니다.
Butane을 사용하여 컨트롤 플레인 노드에 전달할 구성이 포함된
MachineConfig
파일99-master-chrony-conf-override.yaml
을 생성합니다.butane 99-master-chrony-conf-override.bu -o 99-master-chrony-conf-override.yaml
$ butane 99-master-chrony-conf-override.bu -o 99-master-chrony-conf-override.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 컨트롤 플레인 노드의 NTP 서버를 참조하는 컴퓨팅 노드의
chrony.conf
파일의 내용을 포함하여 Butane 구성99-worker-chrony-conf-override.bu
를 만듭니다.Butane 구성의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<cluster-name>
을 클러스터 이름으로 바꾸고<domain>
을 정규화된 도메인 이름으로 교체해야 합니다.
Butane을 사용하여 작업자 노드로 전달할 구성이 포함된
MachineConfig
개체 파일99-worker-chrony-conf-override.yaml
을 생성합니다.butane 99-worker-chrony-conf-override.bu -o 99-worker-chrony-conf-override.yaml
$ butane 99-worker-chrony-conf-override.bu -o 99-worker-chrony-conf-override.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.14.3. 컨트롤 플레인에서 실행되도록 네트워크 구성 요소 구성 링크 복사링크가 클립보드에 복사되었습니다!
컨트롤 플레인 노드에서 독점적으로 실행되도록 네트워킹 구성 요소를 구성할 수 있습니다. 기본적으로 OpenShift Container Platform에서는 머신 구성 풀의 모든 노드가 ingressVIP
가상 IP 주소를 호스팅할 수 있습니다. 그러나 일부 환경에서는 컨트롤 플레인 노드의 별도의 서브넷에 컴퓨팅 노드를 배포합니다. 이 경우 컨트롤 플레인 노드에서 실행되도록 ingressVIP
가상 IP 주소를 구성해야 합니다.
별도의 서브넷에 원격 노드를 배포할 때 컨트롤 플레인 노드에 독점적으로 ingressVIP
가상 IP 주소를 배치해야 합니다.
프로세스
install-config.yaml
파일을 저장하는 디렉터리로 변경합니다.cd ~/clusterconfigs
$ cd ~/clusterconfigs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow manifests
하위 디렉터리로 전환합니다.cd manifests
$ cd manifests
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cluster-network-avoid-workers-99-config.yaml
이라는 파일을 생성합니다.touch cluster-network-avoid-workers-99-config.yaml
$ touch cluster-network-avoid-workers-99-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 편집기에서
cluster-network-avoid-workers-99-config.yaml
파일을 열고 Operator 구성을 설명하는 CR(사용자 정의 리소스)을 입력합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 매니페스트는 컨트롤 플레인 노드에
ingressVIP
가상 IP 주소를 배치합니다. 또한 이 매니페스트는 컨트롤 플레인 노드에 다음 프로세스를 배포합니다.-
openshift-ingress-operator
-
keepalived
-
-
cluster-network-avoid-workers-99-config.yaml
파일을 저장합니다. manifests/cluster-ingress-default-ingresscontroller.yaml
파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
manifests
디렉터리를 백업하는 것이 좋습니다. 설치 프로그램은 클러스터를 생성할 때manifests/
디렉터리를 삭제합니다. mastersSchedulable
필드를true
로 설정하여 컨트롤 플레인 노드를 예약할 수 있도록cluster-scheduler-02-config.yml
매니페스트를 수정합니다. 기본적으로 컨트롤 플레인 노드는 예약할 수 없습니다. 예를 들면 다음과 같습니다.sed -i "s;mastersSchedulable: false;mastersSchedulable: true;g" clusterconfigs/manifests/cluster-scheduler-02-config.yml
$ sed -i "s;mastersSchedulable: false;mastersSchedulable: true;g" clusterconfigs/manifests/cluster-scheduler-02-config.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 절차를 완료한 후 컨트롤 플레인 노드를 예약할 수 없는 경우 클러스터 배포가 실패합니다.
3.14.4. 선택 사항: 컴퓨팅 노드에 라우터 배포 링크 복사링크가 클립보드에 복사되었습니다!
설치 중에 설치 프로그램은 컴퓨팅 노드에 라우터 Pod를 배포합니다. 기본적으로 설치 프로그램은 두 개의 라우터 Pod를 설치합니다. 배포된 클러스터에 OpenShift Container Platform 클러스터 내의 서비스에 대한 외부 트래픽 로드를 처리하기 위해 추가 라우터가 필요한 경우 yaml
파일을 생성하여 적절한 수의 라우터 복제본을 설정할 수 있습니다.
컴퓨팅 노드가 하나만 있는 클러스터를 배포하는 것은 지원되지 않습니다. 라우터 복제본을 수정하면 하나의 컴퓨팅 노드로 배포할 때 성능이 저하된
상태의 문제를 해결할 수 있지만, 클러스터는 Ingress API의 고가용성이 손실되며 프로덕션 환경에 적합하지 않습니다.
기본적으로 설치 프로그램은 두 개의 라우터를 배포합니다. 클러스터에 컴퓨팅 노드가 없는 경우 설치 프로그램은 기본적으로 컨트롤 플레인 노드에 두 개의 라우터를 배포합니다.
프로세스
router-replicas.yaml
파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고<num-of-router-pods>
를 적절한 값으로 바꿉니다. 하나의 컴퓨팅 노드로만 작업하는 경우replicas:
1
로 설정합니다. 컴퓨팅 노드를 3개 이상 사용하여 작업하는 경우 필요에 따라replicas:
를 기본값2
에서 늘릴 수 있습니다.router-replicas.yaml
파일을clusterconfigs/openshift
디렉터리에 저장하고 복사합니다.cp ~/router-replicas.yaml clusterconfigs/openshift/99_router-replicas.yaml
$ cp ~/router-replicas.yaml clusterconfigs/openshift/99_router-replicas.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.14.5. 선택 사항: BIOS 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 설치 프로세스 중에 BIOS를 구성합니다.
프로세스
- 매니페스트를 생성합니다.
노드에 해당하는
BareMetalHost
리소스 파일을 수정합니다.vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yaml
$ vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow BareMetalHost
리소스의spec
섹션에 BIOS 구성을 추가합니다.spec: firmware: simultaneousMultithreadingEnabled: true sriovEnabled: true virtualizationEnabled: true
spec: firmware: simultaneousMultithreadingEnabled: true sriovEnabled: true virtualizationEnabled: true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고Red Hat은 세 가지 BIOS 구성을 지원합니다. BMC 유형
irmc
가 있는 서버만 지원됩니다. 다른 유형의 서버는 현재 지원되지 않습니다.- 클러스터를 생성합니다.
3.14.6. 선택 사항: RAID 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 설치 프로세스 중에 BMC(Baseboard Management Controller)를 사용하여 독립 디스크(RAID)의 중복 배열을 구성합니다.
노드에 대한 하드웨어 RAID를 구성하려면 노드에 RAID 컨트롤러가 지원되는지 확인합니다. OpenShift Container Platform 4.16은 소프트웨어 RAID를 지원하지 않습니다.
vendor | BMC 및 프로토콜 | 펌웨어 버전 | RAID 수준 |
---|---|---|---|
Fujitsu | iRMC | 해당 없음 | 0, 1, 5, 6, 10 |
Dell | Redfish를 사용하는 iDRAC | 버전 6.10.30.20 이상 | 0, 1, 5 |
프로세스
- 매니페스트를 생성합니다.
노드에 해당하는
BareMetalHost
리소스를 수정합니다.vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yaml
$ vim clusterconfigs/openshift/99_openshift-cluster-api_hosts-*.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고다음 예제에서는 OpenShift Container Platform 4.16이 소프트웨어 RAID를 지원하지 않기 때문에 하드웨어 RAID 구성을 사용합니다.
특정 RAID 구성을
spec
섹션에 추가한 경우 노드에서준비
단계에서 원래 RAID 구성을 삭제하고 RAID에서 지정된 구성을 수행합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
level
은 필수 필드이며 다른 필드는 선택적 필드입니다.
spec
섹션에 빈 RAID 구성을 추가한 경우 빈 구성으로 인해 노드가준비
단계에서 원래 RAID 구성을 삭제하지만 새 구성을 수행하지 않습니다. 예를 들면 다음과 같습니다.spec: raid: hardwareRAIDVolumes: []
spec: raid: hardwareRAIDVolumes: []
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
spec
섹션에raid
필드를 추가하지 않으면 원래 RAID 구성이 삭제되지 않으며 새 구성은 수행되지 않습니다.
- 클러스터를 생성합니다.
3.14.7. 선택사항: 노드에서 스토리지 구성 링크 복사링크가 클립보드에 복사되었습니다!
MCO(Machine Config Operator)에서 관리하는 MachineConfig
오브젝트를 생성하여 OpenShift Container Platform 노드의 운영 체제를 변경할 수 있습니다.
MachineConfig
사양에는 처음 부팅할 때 머신을 구성하기 위한 ignition 구성이 포함되어 있습니다. 이 config 오브젝트는 OpenShift Container Platform 시스템에서 실행되는 파일, systemd 서비스 및 기타 운영 체제 기능을 수정하는 데 사용할 수 있습니다.
프로세스
ignition config를 사용하여 노드에서 스토리지를 구성합니다. 다음 MachineSet
매니페스트 예제에서는 기본 노드의 장치에 파티션을 추가하는 방법을 보여줍니다. 이 예에서는 설치 전에 매니페스트를 적용하여 기본 노드에 크기가 16GiB인 recovery
라는 파티션을 만듭니다.
custom-partitions.yaml
파일을 생성하고 파티션 레이아웃이 포함된MachineConfig
오브젝트를 포함합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow custom-partitions.yaml
파일을clusterconfigs/openshift
디렉터리에 저장하고 복사합니다.cp ~/<MachineConfig_manifest> ~/clusterconfigs/openshift
$ cp ~/<MachineConfig_manifest> ~/clusterconfigs/openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow