본문 바로가기
Infra & DevOps/Kubernetes

[퍼온 글] 쿠버네티스 노드 조인(Join)시 Token 값 확인

by Jordy-torvalds 2020. 6. 15.
반응형

출처: https://sarc.io/index.php/cloud/1383-join-token

 

쿠버네티스 노드 조인(Join)시 Token 값 확인

Tech Note 정보 DansoJ 님이 작성하신 글입니다. 카테고리: [ Cloud Computing & MSA ] 게시됨: 18 October 2018 작성됨: 18 October 2018 최종 변경: 30 August 2019 조회수: 4051 1. 개요 Kubernetes 운영 하던 중 노드를 추가 ��

sarc.io

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 값>

 

문제 해결~

반응형