Я использую сетевой плагин flannel
в моем кластере k8s.И есть один специальный узел, который имеет один внутренний IP-адрес и один публичный IP-адрес, которые позволяют подключиться к нему по ssh.
После добавления узла с помощью kubeadm
я обнаружил, что k get node xx -o yaml
возвращает аннотацию flannel.alpha.coreos.com/public-ip
с общедоступным IP-адресом и , что делает внутренний модуль Kubernetes недоступным для других узлов .
apiVersion: v1
kind: Node
metadata:
annotations:
flannel.alpha.coreos.com/backend-data: '{"VtepMAC":"xxxxxx"}'
flannel.alpha.coreos.com/backend-type: vxlan
flannel.alpha.coreos.com/kube-subnet-manager: "true"
flannel.alpha.coreos.com/public-ip: <the-public-ip, not the internal one>
kubeadm.alpha.kubernetes.io/cri-socket: /var/run/dockershim.sock
node.alpha.kubernetes.io/ttl: "0"
volumes.kubernetes.io/controller-managed-attach-detach: "true"
Я пытаюсь использовать k edit node xxx
, чтобы изменить public-ip
в аннотации, она работает всего за одну минуту, а затем она вернется к исходной.
Итак ... мой вопрос похож на заголовок: Как я могу изменить аннотацию узла Kubernetes flannel.alpha.coreos.com/public-ip
без изменения обратно?