모든 작업자 노드를 삭제한 후 내 팟(Pod)이 새 작업자 노드에서 시작되지 않는 이유는 무엇입니까?
워커 노드 삭제 실패 및 응답이 없는 파드의 문제를 해결합니다.
가상 프라이빗 클라우드 클래식 인프라
작업자 노드가 존재하지 않도록 클러스터의 모든 작업자 노드를 삭제했습니다. 그런 다음 하나 이상의 작업자 노드를 추가했습니다. 다음 명령을 실행하면 Kubernetes 컴포넌트에 대한 여러 팟(Pod)이 계속 ContainerCreating 상태이고 calico-node 팟(Pod)은 계속 CrashLoopBackOff 상태입니다.
oc -n calico-system get pods
클러스터의 모든 작업자 노드를 삭제하면 calico-kube-controllers 팟(Pod)이 실행될 작업자 노드가 존재하지 않습니다. 삭제된 작업자 노드의 데이터를 제거하도록 Calico 제어기 팟(Pod)을 업데이트할 수 없습니다. Calico 제어기 팟(Pod)이 새 작업자 노드에서 다시 실행되기 시작하면 해당 데이터가 새 작업자 노드에 대해 업데이트되지 않으며 calico-node 팟(Pod)을 시작하지 않습니다.
새 팟(Pod)을 작성할 수 있도록 기존 calico-node 작업자 노드 항목을 삭제하십시오.
시작하기 전에: Calico CLI를 설치하십시오.
-
ibmcloud oc cluster config명령을 실행하고KUBECONFIG환경 변수를 설정하려면 출력을 복사하여 붙여넣으십시오.--admin및--network옵션을ibmcloud oc cluster config명령에 포함하십시오.--admin옵션은 인프라 포트폴리오에 액세스하고 작업자 노드에서 Calico 명령을 실행하기 위해 키를 다운로드합니다.--network옵션은 모든 Calico 명령을 실행하기 위한 Calico 구성 파일을 다운로드합니다.ibmcloud oc cluster config --cluster CLUSTER_NAME_OR_ID --admin --network -
calico-node팟(Pod)이 계속CrashLoopBackOff상태인 경우NODEIP 주소를 기록해 두십시오.oc -n calico-system get pods -o wide이 예제 출력에서는
calico-node팟(Pod)을 작업자 노드10.176.48.106에서 시작할 수 없습니다.NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES ... calico-kube-controllers-656c5785dd-kc9x2 1/1 Running 0 25h 10.176.48.107 10.176.48.107 <none> <none> calico-node-mkqbx 0/1 CrashLoopBackOff 1851 25h 10.176.48.106 10.176.48.106 <none> <none> coredns-7b56dd58f7-7gtzr 0/1 ContainerCreating 0 25h 172.30.99.82 10.176.48.106 <none> <none> -
calico-node작업자 노드 항목의 ID를 가져오십시오. 이전 단계에서 검색한 작업자 노드 IP 주소의 ID만 복사하십시오.calicoctl get nodes -o wide -
ID를 사용하여 작업자 노드 항목을 삭제하십시오. 작업자 노드 항목을 삭제한 후 Calico 제어기는 새 작업자 노드에서
calico-node팟(Pod)을 다시 스케줄합니다.calicoctl delete node <node_ID> -
calico-node팟(Pod)을 포함한 Kubernetes 컴포넌트 팟(Pod)이 현재 실행 중인지 확인하십시오.calico-node팟(Pod)을 스케줄하고 새 컴포넌트 팟(Pod)을 작성하는 데 몇 분이 걸릴 수 있습니다.oc -n calico-system get pods
나중에 이 오류가 발생하지 않도록 하려면 클러스터의 모든 작업자 노드를 삭제하지 마십시오. 항상 클러스터에서 하나 이상의 작업자 노드를 실행하고 Ingress 또는 라우트를 사용하여 앱을 노출하는 경우 구역당 두 개 이상의 작업자 노드를 실행하십시오.