Master와 Worker 노드를 연결 하기 위한 사전 작업 진행시
아래와 같은 오류가 발생해 문제점을 찾으려 함.
containerd가 runtime.v1.RuntimeService API를 지원 하지 않아서 발생하는 오류임
kubeadm의 CRI 버전과 설치된 containerd 서비스 버전 호환성 문제인거 같음.
일단 containerd를 재설치 할 예정
sudo apt update
sudo apt install --reinstall containerd
재설치 후 동일 한 오류가 나옴..
도커가 실행이 안되면 안될 수 도 있따고 하여
도커 확인을 해보니 데몬이 돌아가지 않는 상황이 발생..
왜 도커가 실행이 안되는지 확인이 필요한상황..
도커 재설치
sudo apt-get install docker-ce docker-ce-cli containerd.io
재설치 후 kubernetis 컨테이너가 사라짐..
active상태가 계속 restart 상태라 로그 확인 해봄
failed to load kubelet config file /var/lib/kubelet/config.yaml: no such file or directory
설정 파일이 존재하지 않다고 하는데 아마 도커 재설치 후 누락 된거 같음..
kubeadm reset을 하고 init을 했지만 동일 한 오류가 계속 나옴..
그래서 config.toml을 삭제 후 재생성하는 방향으로 바꿈
containerd의 기본 설정을 확인 후 tee명령어를 통해 /etc/containerd/config.toml로 전달
그리고 containerd 서비스 재실행
sudo rm /etc/containerd/config.toml
sudo containerd config default | sudo tee /etc/containerd/config.toml
sudo systemctl restart containerd
그리고 ini실행하니 정상적으로 작동함
마지막에 토큰이랑 아이피는 필요하니 꼭 다른곳에 복사 해두기
나중에 workerNode랑 연결할때 사용하게 됨
kubeadm join 172.16.2.25:6443 --token wvttku.2b9r0ag4duc1fkga \
--discovery-token-ca-cert-hash sha256:cc9d658aa2cb4381c59d76ca21bb23df51139469cc4c392850b0d2cba8e7ce58
root 계정을 이용해서 kubectl을 실행하기 위한 환경변수 설정
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
하지만? docker ps 했을때 아무것도 안보임..
그래서 혹시나 k get pods 해보니 해당 오류가 발생했고 kubelet 상태는 active로 돌아가는중
minikube status를 확인 해보니 전부다 stopped으로 되어 있어
minikube를 start 시킨 후 확인 해보니 정상 작동 하는 걸로 확인!
k get pods 해보니 이전에 있던 pod들도 다 정상 작동하는 것으로 확인 됨.