kubeadm join으로 클러스터에 노드 추가(worker)

김건호·2022년 10월 21일
0

kubeadm init 으로 클러스터 생성 시, join에 필요한 token, hash와 함께 join 커맨드가 나오지만, 이 token은 유효기간이 24시간이고, 값을 따로 복사해두지 않으면 join을 할 수 없게 됩니다.

# kubeadm init --config=kubeadm-config.yaml --upload-certs

You can now join any number of the control-plane node running the following command on each as root:

  kubeadm join api-server IP:6443 --token [token] \
    --discovery-token-ca-cert-hash sha256:hash \
    --control-plane --certificate-key ~~
    
Please note that the certificate-key gives access to cluster sensitive data, keep it secret!
As a safeguard, uploaded-certs will be deleted in two hours; If necessary, you can use
"kubeadm init phase upload-certs --upload-certs" to reload certs afterward.

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join api-server IP:6443 --token [token] \
    --discovery-token-ca-cert-hash sha256:hash

작업

Step 1. kubernetes api-server의 token, hash 확인

  1. 클러스터의 main master node로 접속합니다.

  2. 클러스터의 토큰을 확인합니다.

$ kubeadm token list
  1. 토큰이 없다면 토큰을 생성합니다.
$ kubeadm token create
  1. hash 값을 조회합니다.
$ openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'

Step 2. node를 클러스터에 join하여 추가

  1. join할 node로 접속합니다.

  2. 조회한 token값과 hash 값을 사용하여 join 합니다.

$ kubeadm join api-server IP:6443 --token [token] \
    --discovery-token-ca-cert-hash sha256:hash
  1. master node로 돌아가 node가 추가 되었는지 확인합니다.
$ kubectl get nodes

토큰 생성 시, --print-join-command 옵션을 사용하면 Step 1의 과정을 생략하고 바로 join 커맨드를 확인할 수 있습니다.

$ kubeadm token create --print-join-command
---
kubeadm join api-server IP:6443 --token [token] \
    --discovery-token-ca-cert-hash sha256:hash
profile
Ken, 🔽🔽 거노밥 유튜브(house icon) 🔽🔽

0개의 댓글