티스토리 뷰

1. 개요

Kubernetes 운영 하던 중 노드를 추가 해야할 상황에서 (초기 설치가 아닌..) 

최초 kubeadm init 시 표시된 

kubeadm join <Kubernetes API Server:PORT> --token <Token 값> --discovery-token-ca-cert-hash sha256:<Hash 값>

명령을 이용하면 token이 만료 되었다는 에러와 함께 Wokrer 노드가 Master 노드에 붙지 않는 문제가 있다. 

 

이유는 최초 노드 조인을 위해 토큰을 발행 하면 아래와 같이 EXPIRES 기간이 있기 때문이다. 

$ kubeadm token list

TOKEN                     TTL         EXPIRES                     USAGES                   DESCRIPTION                                                EXTRA GROUPS

<토큰값>  <invalid>   2018-10-18T10:08:29+09:00   authentication,signing   The default bootstrap token generated by 'kubeadm init'.   system:bootstrappers:kubeadm:default-node-token

 

물론 토큰값이 존재 한다면 이 값을 이용하면 되고...

kubeadm token list 를 수행해서 아무런 값이 없을 경우엔 노드를 붙일 수 없다.

 

$ kubeadm token list

TOKEN                     TTL         EXPIRES                     USAGES                   DESCRIPTION                                                EXTRA GROUPS

 

2. Token 생성(확인)

$ kubeadm token list

$ kubeadm token create

 

3. Hash 확인

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

 

4. Join

kubeadm join <Kubernetes API Server:PORT> --token <2. Token 값> --discovery-token-ca-cert-hash sha256:<3. Hash 값>

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함