kube-apiserver
를 Public IP
로 노출시켜 외부에서도 접근할 수 있도록 했는데, 외부에서 접근 시 아래와 같은 에러가 발생했다.
E1017 05:38:54.269695 136893 memcache.go:265] couldn't get current server API group list: Get "https://61.75.95.175:6443/api?timeout=32s": tls: failed to verify certificate: x509: certificate is valid for 10.96.0.1, 192.168.0.213, not 61.75.95.XXX
외부로 노출한 IP 가 61.75.95.XXX
였는데, 인증서에는 해당 IP 에 대한 TLS 설정이 빠져있었기 때문이었다.
기존 인증서를 제거하고 61.75.95.XXX
를 추가한 새로운 인증서로 생성하여 해결하였다.
# 기존 인증서 제거
$ rm /etc/kubernetes/pki/apiserver.* -f
# 새로운 인증서로 추가
$ sudo kubeadm init phase certs apiserver --apiserver-cert-extra-sans 61.75.95.XXX