Невозможно обновить аннотацию узла в Kubernetes - PullRequest
0 голосов
/ 20 октября 2018

Я использую сетевой плагин 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 без изменения обратно?

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Обновите аннотацию flannel.alpha.coreos.com/public-ip-overwrite, а затем повторно разверните модуль, чтобы сделать эту работу.

0 голосов
/ 20 октября 2018

Выполните модификацию, используя kubectl, и у вас будет два способа:

  • kubectl annotate :

    kubectl annotate node xx --overwrite flannel.alpha.coreos.com/public-ip=new-value
    
  • или kubectl patch :

    kubectl patch node xx -p '{"metadata":{"annotations":{"flannel.alpha.coreos.com/public-ip":"new-value"}}}'
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...