Я использую kubeadm
для создания одного главного kubernete в версии 1.11.5
. У меня есть конфиг kubeadm, как это:
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
api:
advertiseAddress: <internal-ip>
apiServerCertSANs:
- <public-ip>
- <internal-ip>
kubernetesVersion: v1.11.5
networking:
podSubnet: 10.244.0.0/16
Аппарат ec2
и добавление <public-ip>
в apiServerCertSANs
позволяют получить доступ к кластеру с моего ноутбука, используя kubectl
. Но плохо то, что команда kubeadm join
, запущенная в worker node
, будет по умолчанию использовать <public-ip>
вместо <internal-ip>
.
Я пытаюсь вручную использовать kubeadm join <internal-ip>:6443 --token wby3bb.vomsgxxxxxxb --discovery-token-ca-cert-hash sha256:xxxxx
, но сгенерированный файл /etc/kubernetes/bootstrap-kubelet.conf
и /etc/kubernetes/kubelet.conf
все еще использует <public-ip>:6443
внутри него. И шаг «Загрузка конфигурации для kubelet из ConfigMap« kubelet-config-1.11 »в пространстве имен системы kube» все еще обращается к главному узлу из <public-ip>
.
Мне нужно сделать доступ всех kubernetes через внутренний ip, как я могу изменить ip для доступа?