6.6.5. 새 컨트롤 플레인 노드 생성
BareMetalHost 오브젝트 및 노드를 생성하여 새 컨트롤 플레인 노드 생성을 시작합니다.
프로세스
이전에 저장한
bmh_affected.yaml파일을 편집합니다.파일에서 다음 메타데이터 항목을 제거합니다.
-
creationTimestamp -
generation -
resourceVersion -
uid
-
-
파일의
status섹션을 제거합니다.
결과 파일은 다음 예와 유사해야 합니다.
bmh_affected.yaml파일의 예apiVersion: metal3.io/v1alpha1 kind: BareMetalHost metadata: labels: installer.openshift.io/role: control-plane name: openshift-control-plane-2 namespace: openshift-machine-api spec: automatedCleaningMode: disabled bmc: address: credentialsName: disableCertificateVerification: true bootMACAddress: ab:cd:ef:ab:cd:ef bootMode: UEFI externallyProvisioned: true online: true rootDeviceHints: deviceName: /dev/disk/by-path/pci-0000:04:00.0-nvme-1 userData: name: master-user-data-managed namespace: openshift-machine-api다음 명령을 실행하여
bmh_affected.yaml파일을 사용하여BareMetalHost오브젝트를 생성합니다.$ oc create -f bmh_affected.yamlBareMetalHost오브젝트를 생성하면 다음 경고가 예상됩니다.Warning: metadata.finalizers: "baremetalhost.metal3.io": prefer a domain-qualified finalizer name to avoid accidental conflicts with other finalizer writers다음 명령을 실행하여 컨트롤 플레인 ignition 시크릿을 추출합니다.
$ oc extract secret/master-user-data-managed \ -n openshift-machine-api \ --keys=userData \ --to=- \ | sed '/^userData/d' > new_controlplane.ign이 명령은 Ignition 시크릿의 시작
userData행도 제거합니다.다음 예제를 참조하여 새 노드의 네트워크 구성에 대해
new_controlplane_nmstate.yaml이라는 제목의 Nmstate YAML 파일을 생성합니다.Nmstate YAML 파일의 예
interfaces: - name: eno1 type: ethernet state: up mac-address: "ab:cd:ef:01:02:03" ipv4: enabled: true address: - ip: 192.168.20.11 prefix-length: 24 dhcp: false ipv6: enabled: false dns-resolver: config: search: - iso.sterling.home server: - 192.168.20.8 routes: config: - destination: 0.0.0.0/0 metric: 100 next-hop-address: 192.168.20.1 next-hop-interface: eno1 table-id: 254참고에이전트 기반 설치 관리자를 사용하여 클러스터를 설치한 경우 원래 클러스터 배포의
agent-config.yaml파일에 있는 실패한 노드의networkConfig섹션을 새 컨트롤 플레인 노드의 Nmstate 파일의 시작점으로 사용할 수 있습니다. 예를 들어 다음 명령은 첫 번째 컨트롤 플레인 노드의networkConfig섹션을 추출합니다.$ cat agent-config-iso.yaml | yq .hosts[0].networkConfig > new_controlplane_nmstate.yaml다음 명령을 실행하여 사용자 지정 RHCOS(Red Hat Enterprise Linux CoreOS) 라이브 ISO를 생성합니다.
$ coreos-installer iso customize rhcos-live.86_64.iso \ --dest-ignition new_controlplane.ign \ --network-nmstate new_controlplane_nmstate.yaml \ --dest-device /dev/disk/by-path/<device_path> \ -f&
lt;device_path>를 ISO가 생성될 대상 장치의 경로로 바꿉니다.- 사용자 지정 RHCOS 라이브 ISO를 사용하여 새 컨트롤 플레인 노드를 부팅합니다.
- 새 노드에 클러스터에 가입하도록 CSR(인증서 서명 요청)을 승인합니다.