콘텐츠로 이동






Kubernetes에서 노드 rejoin 방법

back

시작하는말

kubernetes환경에서 호스트네임 변경같이 특정 노드의 속성변경 작업이 진행되는 경우 reset 및 join하는 절차가 필요하기 때문에 작성하였습니다.

사전 작업

삭제할 노드에서 워커노드 제외방법를 통해 제외 준비 합니다.

본 작업

  1. 노드 삭제
  2. 마스터 노드에서 실행
    $> kubectl delete nodes {% 삭제할 노드명 }
    
    • 삭제할 노드가 etcd가 구성된 Master노드의 경우 deletes 말고 etcd member 제외 방법 절차로 삭제작업을 수행해야 합니다.
  3. 워커 노드에서 실행
      $> kubeadm reset
      ...
      [Y/n] Y
    ...
    
  4. 노드 추가
  5. 마스터 노드에서 토큰 생성
    $> kubeadm token create --print-join-command
    1234abcd
    
  6. 워커노드에서 실행
    $> kubeadm join {% masterIP:6443} --node-name {% 호스트네임 } --token {% 토큰명 } --discovert-token-ca-cert-hash {% 토큰해시값 }
    
  7. 추가하는 노드가 Master인 경우
    $> kubeadm join --control-plane {% masterIP:6443} --node-name {% 호스트네임 } --token {% 토큰명 } --discovert-token-ca-cert-hash {% 토큰해시값 }