worker node에서 kubeadm join을 실행했는데, 로그가 더 이상 나오지 않고 Running pre-flight checks에만 멈추어 있었다.
kubeadm join --v=2 명령어를 통해 오류의 원인을 알아보았다.
문제의 원인은 마스터 노드가 포트 6443을 외부에 노출하지 않았기 때문이었다.
문제 해결을 위해서 아래의 방법을 시도했다.
1) api-server ip 확인하기
.kube/config 파일을 참고하거나 아래의 명령어를 통해 확인할 수 있다.
kubectl describe pod/kube-apiserver-<master-node-name> -n kube-system
2) 포트 6443이 열려있는지 확인하기
curl https://<kube-apiserver-IP>:6443
2) 포트 6443이 열려있는지 확인하기
아래와 같은 인증서관련 출력문이 나오면 포트가 열려있는 것이다.
curl: (60) server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
4) 포트가 열려 있지 않은 경우, 방화벽 관리 명령어 firewall-cmd를 이용해 방화벽을 설정해준다.
4-1) 방화벽 ftp 서비스 제거하기
sudo firewall-cmd --add-port=6443/tcp --permanent
4-2) 방화벽 다시 로드
sudo firewall-cmd --reload
4-3) 사용 가능한 서비스/포트 출력하기
sudo firewall-cmd --list-all
포트 6443이 업데이트된 것을 확인할 수 있다.
다시 kubeadm join 명령어를 시도해본다.
성공적으로 조인완료!😃
https://github.com/kubernetes/kubeadm/issues/1477
Running pre-flight checks hang · Issue #1477 · kubernetes/kubeadm
What keywords did you search in kubeadm issues before filing this one? preflight hang kubeadm join BUG REPORT Versions kubeadm version (use kubeadm version): kubeadm version: &version.Info{Majo...
github.com
kubectl : Unable to connect to the server : dial tcp 192.168.214.136:6443: connect: no route to host
I recently installed kubernetes on VMware and also configured few pods , while configuring those pods , it automatically used IP of the VMware and configured. I was able to access the application d...
stackoverflow.com
반응형
'Kubernetes' 카테고리의 다른 글
Kubevirt (0) | 2022.01.12 |
---|---|
failed to create listener: failed to listen on 127.0.0.1:10257: listen tcp 127.0.0.1:10257: bind: address already in use (0) | 2022.01.11 |
Volume에 대해 알아보자 [pv, pvc, storage class] - 2 (0) | 2022.01.07 |
1. 쿠버네티스 소개하기 (0) | 2022.01.07 |
CoreDNS pod의 CrashLoopBackOff 상태 해결법 (1) | 2022.01.06 |