kubeadm init 시, --control-plane-endpoint를 설정하지 못한 경우, public ip로 노출하기 힘들다.
이를 위해 별도의 처리를 진행한다.
/etc/kubernetes/manifests/kube-apiserver.yaml
--advertise-address=<PUBLIC_IP>
+) 상단에 보이는 제일 긴 영역도 수정한다.
kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint: "<PUBLIC_IP>:6443"
/etc/kubernetes/cluster-config.yaml
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
kubernetesVersion: stable
controlPlaneEndpoint: "203.253.76.163:6443"
apiServer:
certSANs:
- "203.253.76.163"
- "10.96.0.1"
- "192.168.1.4"
sudo cp -r /etc/kubernetes/pki /etc/kubernetes/pki.bak
sudo find /etc/kubernetes/pki -type f -not -name 'ca.crt' -not -name 'ca.key' -delete
sudo find /etc/kubernetes/pki/etcd -type f -not -name 'ca.crt' -not -name 'ca.key' -delete
sudo kubeadm init phase certs all --config /etc/kubernetes/cluster-config.yaml
sudo kubeadm init phase kubeconfig all --config /etc/kubernetes/cluster-config.yaml
sudo systemctl restart kubelet
kubectl get nodes
kubectl edit cm kube-proxy -n kube-system