Network & Server Factory

개인 공부 기록

DevOps/Kubernetes

[Kubernetes] 토큰 만료 후 워커 노드 추가

1nfra 2021. 11. 2. 03:24
클러스터를 만든 뒤 시간이 지나 새 워커 노드를 붙이려 하면 토큰 만료 오류로 join이 실패합니다. kubeadm 토큰은 유효 기간이 있기 때문으로, 토큰을 새로 만들고 CA 인증서 해시를 확인해 다시 join하면 됩니다.

1. 증상

초기 구성이 아니라 나중에 새 워커 노드를 추가하려고 kubeadm join을 실행하면, 토큰이 만료됐다는 오류와 함께 노드가 마스터에 붙지 않습니다.

2. 원인

노드 조인용 토큰은 발급할 때 유효 기간(EXPIRES)이 정해져 있습니다. 아래 명령으로 토큰과 만료 시각을 볼 수 있습니다.

kubeadm token list

토큰 목록과 EXPIRES

 

유효한 토큰이 있으면 그대로 쓰고, 없으면 새로 만들어야 합니다.

3. 해결

3.1 토큰 생성

kubeadm token create
kubeadm token list

3.2 CA 인증서 해시 확인

openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'

3.3 워커 노드에서 join

확인한 토큰과 해시로 워커 노드에서 join합니다.

kubeadm join <마스터 IP>:6443 --token <토큰> --discovery-token-ca-cert-hash sha256:<해시>
참고: 마스터 노드에서 kubeadm token create --print-join-command 를 실행하면 토큰 생성과 join 명령어 출력을 한 번에 할 수 있습니다.

4. 결과

새 토큰으로 join하니 노드가 정상적으로 추가됐습니다.

5. 정리

  • kubeadm 조인 토큰은 기간이 지나면 만료됩니다.
  • 새 토큰을 만들고 CA 해시와 함께 join하면 워커 노드를 추가할 수 있습니다.
728x90
서울
--:--:--
-전체 글
-카테고리
오늘 방문