데몬의 오류 응답: {“message”:“해당 컨테이너 없음: kubelet”}

데몬의 오류 응답: {“message”:“해당 컨테이너 없음: kubelet”}

Kubernetes 클러스터에 새 노드를 추가할 때 다음 오류가 발생합니다.

+ docker start kubelet
Error response from daemon: {"message":"No such container: kubelet"}
Error: failed to start containers: kubelet
+ sleep 2

이 오류는 이미 손상된 클러스터에서 발생합니다. 3개 중 노드가 1개만 남았습니다. 해당 노드는 인증서 복구 및 배포 문제가 선험적으로 남아 있습니다. 이 노드에서는 SSL이 더 이상 작동하지 않습니다. 참고로 Kubernetes 클러스터는 Rancher를 통해 배포되었습니다. etcd 컨테이너는 노드 3에서 정기적으로 재부팅되며, etcd는 클러스터에 다시 통합하려는 다른 노드에 배포하기를 원하지 않습니다.

Kubelet은 Rancher가 Kubernetes 클러스터를 생성할 때 자체적으로 실행되는 Docker 컨테이너에서 실행됩니다. 수행된 테스트와 관련하여 etcd를 사용하여 새 도커 컨테이너를 다시 시작하고 스냅샷에서 다시 시작하려고 시도했지만 아무것도 클러스터를 다시 시작할 수 없습니다. 새 노드를 추가하는 것도 작동하지 않습니다. 내가 본 바로는 Rancher가 생성한 SSL 인증서에 그가 찾을 수 없는 문제도 있습니다.

답변1

다음 단계를 수행해 보세요.

  1. 다음을 실행하여 노드를 정리합니다.
docker system prune
docker volume prune


이렇게 하면 모든 Docker 볼륨이 삭제됩니다. 볼륨에 중요한 데이터가 있는 경우 주의하세요 .

  1. 노드에서 Rancher/Kubernetes 런타임 데이터를 정리합니다.
rm -rf /etc/cni/ /etc/kubernetes/ /opt/cni/ /var/lib/calico/ /var/lib/cni/ /var/lib/rancher/ /var/run/calico/

노드 정리에 대한 공식 문서에서는 /opt/rke
/var/lib/etcd. 클러스터 etcd
스냅샷 및 데이터가 포함되어 있으므로 제거할 수 없습니다 . 이는
클러스터에 노드가 하나만 있는 경우 특히 중요합니다 .

  1. execrancher 컨테이너에 -ed를 실행 하고 클러스터 상태를 해킹했습니다(thx
    @ibrokethecloud 힌트를 위해):
docker exec -it rancher bash

컨테이너 내부:

apt-get update && apt-get -y install vim
kubectl edit cluster c-XXXX  # replace the cluster-id with an actual cluster ID

편집자는 키(키 바로 아래에 있어야 함)를 찾아 제거 apiEndpoint 했습니다 . 편집기와 컨테이너를 종료합니다. kubectl이 클러스터를 업데이트했다고 말하는지 확인하세요 .
status

  1. Rancher UI에서 새 노드를 등록하는 명령을 받았습니다. docker run 명령에
    a를 추가하여 이전과 다른 노드 이름을 설정합니다
    --node-name (실제로 고급 설정 아래에 이에 대한 편집 상자가 있습니다
    ). 그것은 다음과 같이 보였습니다:
docker run -d --privileged --restart=unless-stopped --net=host \
  -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.2.6 \
  --server https://rancher.example.com --token XXXXXXXXXXXXXXX --node-name mynode2 \
  --etcd --controlplane --worker

  1. 정리된 노드에서 위 명령을 실행하면 마침내
    성공적으로 등록되었으며 RKE는 모든 kube-*kubelet 컨테이너를 시작했습니다.

구경하다:목장주-kubelet, 목장주-2-시작하기.

관련 정보