본문 바로가기

Automation/kubernetes

[장애처리] 쿠버네티스 운영 - 신규노드 추가

[장애상황]

  • Ansible로 운영중인 Kubespray의 inventory.ini(hosts)파일에 k8s 신규노드를 추가하려 하였으나, Kubespray의  Cluster.yml 실행 시 오류 발생
  • (참고) scale.yml을 사용하지 않고 위의 "INI"파일을 수정하고, Cluster.yml을 실행한 상황임

 

[원인분석]

k8s 신규 노드 추가를 위해 다음과 같은 세개의 계정으로 접속이 가능해야 함.

  • vagrant
  • ansible
  • root

특히 ansible은 ansible 원격 명령 실행을 위해 각 노드에 공개키 정보를 복사해야하며, root 역시 kubespray의 script실해을 통한 k8s 명령 실행을 위해 공개키 정보를 각 노드에 복사해야함.

 

키 복사 시 여러 장애요인으로 신규로 추가하려고하는 노드의 잘못된 키가 이미 복사되어, ssh-copy-id 를 실행해도 키가 복사되지 않아서 ssh 접속오류가 발생하는 문제임

 

[해결]

ansible 노드에 등록된 key를 삭제함

명령 : ssh-keygen -f "/home/vagrant/.ssh/known_hosts" -R "minio" && ssh-keygen -f "/root/.ssh/known_hosts" -R "minio"

 

(참고) "minio"는 새로 추가하려고한 신규노드의 hostname임