오류 : To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. 해결법
[상황]
kubernetes 1.20 version으로
linux에 kubernetes 환경을 구성하고
외부 windows host에서 kubectl 명령으로 접근 하려고 할때
기존의 matser node의 kubeconfig파일(admin.conf)을 사용했음.
[오류 메세지]
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Unable to connect to the server: x509: certificate is valid for 10.96.0.1, 10.0.2.15, not 192.168.56.1
[원인]
ip주소가 범위안에 없으니 아래와같은 오류가 발생함.
[해결법]
아래와 같이 명령 진행함.
kubeadm config view > /root/kubeadmconf.yml
[vi /root/kubeadmconf.yml]
빨간부분 추가
apiServer: certSANs: - 192.168.56.1 - 10.96.0.1 - 10.0.2.15 - "k8s.domain.com" extraArgs: authorization-mode: Node,RBAC timeoutForControlPlane: 4m0s apiVersion: kubeadm.k8s.io/v1beta2 certificatesDir: /etc/kubernetes/pki clusterName: kubernetes controllerManager: {} dns: type: CoreDNS etcd: local: dataDir: /var/lib/etcd imageRepository: k8s.gcr.io kind: ClusterConfiguration kubernetesVersion: v1.20.2 networking: dnsDomain: cluster.local podSubnet: 10.244.0.0/16 serviceSubnet: 10.96.0.0/12 scheduler: {} |
[명령어]
kubeadm init phase upload-config kubelet --config /root/kubeadmconf.yml
cd /etc/kubernetes
cp -r pki pki_backup
cd pki
rm apiserver.*
kubeadm init phase certs apiserver --config=/root/kubeadmconf.yml
systemctl daemon-reload
systemctl restart kubelet
docker ps | grep apiserver
docker restart <apiserver_id>
제 글을 복사할 시 출처를 명시해주세요.
글에 오타, 오류가 있다면 댓글로 알려주세요! 바로 수정하겠습니다!