10.9. 컨트롤 플레인 시스템 수동 스케일링
베어 메탈 인프라에 클러스터를 설치할 때 클러스터의 컨트롤 플레인 노드를 4개 또는 5개로 수동으로 확장할 수 있습니다. 성능이 저하된 상태에서 클러스터를 복구하거나, 깊은 수준 디버깅을 수행하거나, 복잡한 시나리오에서 컨트롤 플레인의 안정성 및 보안을 보장해야 하는 경우 이 사용 사례를 고려하십시오.
Red Hat은 베어 메탈 인프라에서만 4 또는 5개의 컨트롤 플레인 노드가 있는 클러스터를 지원합니다.
10.9.1. 클러스터에 컨트롤 플레인 노드 추가 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 인프라에 클러스터를 설치할 때 클러스터의 컨트롤 플레인 노드를 4개 또는 5개로 수동으로 확장할 수 있습니다. 절차의 예제에서는 node-5
를 새 컨트롤 플레인 노드로 사용합니다.
사전 요구 사항
- 컨트롤 플레인 노드가 3개 이상인 정상 클러스터가 설치되어 있습니다.
- postinstalltion 작업으로 클러스터에 추가하려는 단일 컨트롤 플레인 노드를 생성했습니다.
프로세스
다음 명령을 입력하여 새 컨트롤 플레인 노드에 대해 보류 중인 인증서 서명 요청(CSR)을 검색합니다.
oc get csr | grep Pending
$ oc get csr | grep Pending
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 컨트롤 플레인 노드에 보류 중인 모든 CSR을 승인합니다.
oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs --no-run-if-empty oc adm certificate approve
$ oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs --no-run-if-empty oc adm certificate approve
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요설치를 완료하려면 CSR을 승인해야 합니다.
다음 명령을 입력하여 컨트롤 플레인 노드가
Ready
상태에 있는지 확인합니다.oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고설치 관리자 프로비저닝 인프라에서 etcd Operator는 Machine API를 사용하여 컨트롤 플레인을 관리하고 etcd 쿼럼을 확인합니다. 그런 다음 Machine API는
Machine
CR을 사용하여 기본 컨트롤 플레인 노드를 표시하고 관리합니다.BareMetalHost
및Machine
CR을 생성하여 컨트롤 플레인 노드의Node
CR에 연결합니다.다음 예와 같이 고유한
.metadata.name
값을 사용하여BareMetalHost
CR을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여
BareMetalHost
CR을 적용합니다.oc apply -f <filename>
$ oc apply -f <filename>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <filename>을
BareMetalHost
CR의 이름으로 바꿉니다.
다음 예와 같이 고유한
.metadata.name
값을 사용하여Machine
CR을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- &
lt;cluster_name
>을 특정 클러스터의 이름으로 바꿉니다(예:test-day2-1-6qv96
).
다음 명령을 실행하여 클러스터 이름을 가져옵니다.
oc get infrastructure cluster -o=jsonpath='{.status.infrastructureName}{"\n"}'
$ oc get infrastructure cluster -o=jsonpath='{.status.infrastructureName}{"\n"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여
머신
CR을 적용합니다.oc apply -f <filename>
$ oc apply -f <filename>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- &
lt;filename&
gt;을Machine
CR의 이름으로 바꿉니다.
link-machine-and-node.sh
스크립트를 실행하여BareMetalHost
,Machine
및Node
오브젝트를 연결합니다.다음
link-machine-and-node.sh
스크립트를 로컬 머신에 복사합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 스크립트를 실행 가능하게 만듭니다.
chmod +x link-machine-and-node.sh
$ chmod +x link-machine-and-node.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 스크립트를 실행합니다.
bash link-machine-and-node.sh node-5 node-5
$ bash link-machine-and-node.sh node-5 node-5
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고첫 번째
node-5
인스턴스는 시스템을 나타내며 두 번째 인스턴스는 노드를 나타냅니다.
검증
기존 컨트롤 플레인 노드 중 하나로 실행하여 etcd의 멤버를 확인합니다.
다음 명령을 입력하여 컨트롤 플레인 노드에 대한 원격 쉘 세션을 엽니다.
oc rsh -n openshift-etcd etcd-node-0
$ oc rsh -n openshift-etcd etcd-node-0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd 멤버를 나열합니다.
etcdctl member list -w table
# etcdctl member list -w table
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 명령을 입력하여 완료할 때까지 etcd Operator 설정 프로세스를 확인합니다. 예상 출력은
PROGRESSING
열에False
를 표시합니다.oc get clusteroperator etcd
$ oc get clusteroperator etcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 etcd 상태를 확인합니다.
컨트롤 플레인 노드에 대한 원격 쉘 세션을 엽니다.
oc rsh -n openshift-etcd etcd-node-0
$ oc rsh -n openshift-etcd etcd-node-0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 끝점 상태를 확인합니다. 예상
출력은 끝점에
대해 정상입니다.etcdctl endpoint health
# etcdctl endpoint health
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 명령을 입력하여 모든 노드가 준비되었는지 확인합니다. 예상 출력에는 각 노드 항목 옆에
Ready
상태가 표시됩니다.oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 클러스터 Operator를 모두 사용할 수 있는지 확인합니다. 예상 출력은 각 Operator를 나열하고 각 나열된 Operator 옆에
True
로 사용 가능한 상태를 표시합니다.oc get ClusterOperators
$ oc get ClusterOperators
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 클러스터 버전이 올바른지 확인합니다.
oc get ClusterVersion
$ oc get ClusterVersion
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version OpenShift Container Platform.5 True False 5h57m Cluster version is OpenShift Container Platform.5
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version OpenShift Container Platform.5 True False 5h57m Cluster version is OpenShift Container Platform.5
Copy to Clipboard Copied! Toggle word wrap Toggle overflow