출처: https://sarc.io/index.php/cloud/1383-join-token
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 값>
문제 해결~
'Infra & DevOps > Kubernetes' 카테고리의 다른 글
ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables 오류 (0) | 2020.06.16 |
---|---|
쿠버네티스 기본 개념 (1) | 2020.06.14 |
쿠버네티스 설치 방법 (0) | 2020.06.14 |
[오리뎅이] 쿠버네티스 네트워킹 (0) | 2020.04.20 |