Как заставить узлы kubernetes иметь `providerID` spe c после создания (вручную)? - PullRequest
0 голосов
/ 18 февраля 2020

Я ожидаю, что kubectl get nodes <node> -o yaml покажет spec.providerID (см. Ссылку ниже), как только кубету будет предоставлен дополнительный флаг --provider-id=provider://nodeID. Я использовал файл /etc/default/kubelet для добавления дополнительных флагов в командную строку при запуске / перезапуске kubelet. (В кластере k8s 1.16) Я вижу дополнительные флаги через вызов systemctl status kubelet --no-pager, поэтому файл соблюдается.

Однако я не видел значения, возвращаемого вызовом kubectl get node <node> -o yaml. Я думал, что это должно быть, что узел уже зарегистрирован, но я думаю, что kubectl перерегистрируется, когда он запускается. Я видел, как строка журнала через journalctl -u kubelet указывает на то, что он прошел регистрацию.

Как вручную добавить идентификатор поставщика в узел?

https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#nodespec - v1-жильный

Ответы [ 2 ]

1 голос
/ 19 февраля 2020

Способ настройки kubelet на самом узле (AFAIK) отличается от его определения в плоскости управления master, которая отвечает за обновление состояния в центральном хранилище etcd; так что они могут выйти из строя c. т. е. вам необходимо связаться с контрольным местом для обновления его записей.

В дополнение к предложению Субраманиана, kubectl patch node также будет работать, и имеет дополнительное преимущество, заключающееся в том, что его легко воспроизводить / писать по сравнению с ручным редактированием Манифест YAML; он также оставляет «бумажный след» в истории вашей оболочки, если вам нужно будет вернуться назад. Сделайте свой выбор :) Например,

$ kubectl patch node my-node -p '{"spec":{"providerID":"foo"}}'
node/my-node patched
$ kubectl describe node my-node | grep ProviderID
ProviderID:                   foo

Надеюсь, это поможет!

0 голосов
/ 19 февраля 2020

Вы можете редактировать конфигурацию узла и добавлять информацию о провайдере в секции spe c.

kubectl edit node <Node Name> 

...

spec:
   podCIDR:
   providerID: 
...