12.6. 정상 클러스터에 기본 컨트롤 플레인 노드 설치
다음 절차에서는 정상적인 OpenShift Container Platform 클러스터에 기본 컨트롤 플레인 노드를 설치하는 방법을 설명합니다.
클러스터가 비정상이면 추가 작업을 관리해야 관리할 수 있습니다. 자세한 내용은 추가 리소스 를 참조하십시오.
사전 요구 사항
프로세스
CSR 검토 및 승인
CSR(
CertificateSigningRequests)을 검토합니다.oc get csr | grep Pending
$ oc get csr | grep PendingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
csr-5sd59 8m19s kubernetes.io/kube-apiserver-client-kubelet system:serviceaccount:openshift-machine-config-operator:node-bootstrapper <none> Pending csr-xzqts 10s kubernetes.io/kubelet-serving system:node:worker-6 <none> Pending
csr-5sd59 8m19s kubernetes.io/kube-apiserver-client-kubelet system:serviceaccount:openshift-machine-config-operator:node-bootstrapper <none> Pending csr-xzqts 10s kubernetes.io/kubelet-serving system:node:worker-6 <none> PendingCopy 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 approveCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요설치를 완료하려면 CSR을 승인해야 합니다.
기본 노드가
Ready상태에 있는지 확인합니다.oc get nodes
$ oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고etcd-operator에는 클러스터가 기능적인MachineAPI로 실행될 때 새 노드를 참조하는 Machine Custom Resource(CR)가 필요합니다.MachineCR을BareMetalHost및Node:에 연결합니다.고유한
.metadata.name값을 사용하여BareMetalHostCR을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f <filename>
$ oc create -f <filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow BareMetalHostCR을 적용합니다.oc apply -f <filename>
$ oc apply -f <filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 고유한
.machine.name값을 사용하여MachineCR을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f <filename>
$ oc create -f <filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow MachineCR을 적용합니다.oc apply -f <filename>
$ oc apply -f <filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow link-machine-and-node.sh스크립트를 사용하여BareMetalHost,Machine,Node를 연결합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow bash link-machine-and-node.sh custom-master3 worker-5
$ bash link-machine-and-node.sh custom-master3 worker-5Copy to Clipboard Copied! Toggle word wrap Toggle overflow
etcd멤버를 확인합니다.oc rsh -n openshift-etcd etcd-worker-2
$ oc rsh -n openshift-etcd etcd-worker-2 etcdctl member list -w tableCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd-operator구성이 모든 노드에 적용되는지 확인합니다.oc get clusteroperator etcd
$ oc get clusteroperator etcdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE etcd 4.11.5 True False False 5h54m
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE etcd 4.11.5 True False False 5h54mCopy to Clipboard Copied! Toggle word wrap Toggle overflow etcd-operator상태를 확인합니다.oc rsh -n openshift-etcd etcd-worker-0
$ oc rsh -n openshift-etcd etcd-worker-0 etcdctl endpoint healthCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
192.168.111.26 is healthy: committed proposal: took = 11.297561ms 192.168.111.25 is healthy: committed proposal: took = 13.892416ms 192.168.111.28 is healthy: committed proposal: took = 11.870755ms
192.168.111.26 is healthy: committed proposal: took = 11.297561ms 192.168.111.25 is healthy: committed proposal: took = 13.892416ms 192.168.111.28 is healthy: committed proposal: took = 11.870755msCopy to Clipboard Copied! Toggle word wrap Toggle overflow 노드 상태를 확인합니다.
oc get Nodes
$ oc get NodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ClusterOperators상태를 확인합니다.oc get ClusterOperators
$ oc get ClusterOperatorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ClusterVersion확인 :oc get ClusterVersion
$ oc get ClusterVersionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.11.5 True False 5h57m Cluster version is 4.11.5
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.11.5 True False 5h57m Cluster version is 4.11.5Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 컨트롤 플레인 노드를 제거합니다.
BareMetalHostCR을 삭제합니다.oc delete bmh -n openshift-machine-api custom-master3
$ oc delete bmh -n openshift-machine-api custom-master3Copy to Clipboard Copied! Toggle word wrap Toggle overflow Machine이 비정상인지 확인합니다.oc get machine -A
$ oc get machine -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow MachineCR을 삭제합니다.oc delete machine -n openshift-machine-api test-day2-1-6qv96-master-0
$ oc delete machine -n openshift-machine-api test-day2-1-6qv96-master-0 machine.machine.openshift.io "test-day2-1-6qv96-master-0" deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow NodeCR 제거를 확인합니다.oc get nodes
$ oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
etcd-operator로그를 확인하여etcd클러스터의 상태를 확인합니다.oc logs -n openshift-etcd-operator etcd-operator-8668df65d-lvpjf
$ oc logs -n openshift-etcd-operator etcd-operator-8668df65d-lvpjfCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
E0927 07:53:10.597523 1 base_controller.go:272] ClusterMemberRemovalController reconciliation failed: cannot remove member: 192.168.111.23 because it is reported as healthy but it doesn't have a machine nor a node resource
E0927 07:53:10.597523 1 base_controller.go:272] ClusterMemberRemovalController reconciliation failed: cannot remove member: 192.168.111.23 because it is reported as healthy but it doesn't have a machine nor a node resourceCopy to Clipboard Copied! Toggle word wrap Toggle overflow etcd-operator가 클러스터 멤버를 조정할 수 있도록 물리적 머신을 제거합니다.oc rsh -n openshift-etcd etcd-worker-2
$ oc rsh -n openshift-etcd etcd-worker-2 etcdctl member list -w table; etcdctl endpoint healthCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow