Kubernetes Worker Node Join시 Token 오류
Kubernetes Cluster 구성시, 받을 수 있는 오류를 작성하여 공유합니다.
[오류]
Worker 노드에서 Master 노드에 Join 작업중에 아래와 같은 오류 발생
I1130 01:21:48.742218 44687 token.go:223] [discovery] The cluster-info ConfigMap does not yet contain a JWS signature for token ID "iuxb6j", will try again
[원인]
Master 노드 초기화 당시 발급되었던 Token 은 TTL이 있음(24시간 후 만료)
마스터 노드 초기화 완료후, 다음날 Worker 노드를 조인하려고 보니 Token이 만료되었던것..
[조치방법]
Token을 재생성 후, 다시 Worker 노드 조인작업을 진행해야 한다.
Token 재생성 방법
공식문서 : https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
Creating a cluster with kubeadm
Using kubeadm, you can create a minimum viable Kubernetes cluster that conforms to best practices. In fact, you can use kubeadm to set up a cluster that will pass the Kubernetes Conformance tests. kubeadm also supports other cluster lifecycle functions, su
kubernetes.io
마스터노드에서 작업
# 토큰 재생성
kubeadm token create
#토큰 목록 확인
kubeadm token list
discovery-token-ca-cert-hash 확인방법
는 변경되지 않는다.
(만약 Master 노드가 초기화 되었다면, discovery-token-ca-cert-hash 값도 달라진다. )
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | \
openssl dgst -sha256 -hex | sed 's/^.* //'
[Worker Node Join 작업]
# sudo kubeadm join (마스터 노드 접속 가능한 IP):6443 --token (TOKEN) --discovery-token-ca-cert-hash (DISCOVERY_HASH)