Диспетчер контроллеров Kubernetes не обновляется - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь добавить некоторые дополнительные флаги в свой диспетчер контроллеров kubernetes и обновляю флаги в файле /etc/kubernetes/manifests/kube-controller-manager.yaml.Но изменения, которые я добавляю, не вступают в силу.Kubelet обнаруживает изменения в файле и перезапускает модули, но после перезапуска они возвращаются со старыми флагами.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Таким образом, кажется, что любой файл в / etc / kubernetes / manifest загружается kubelet.Поэтому, когда я добавлял новые флаги, я делал резервную копию существующего файла с расширением .bak, но kubelet по-прежнему загружал файл .bak вместо нового файла .yaml.Мне кажется, это ошибка.В любом случае, рад, что заметил ошибку.

0 голосов
/ 26 ноября 2018

Причина в том, что контейнер запускается со старыми флагами, когда вы передаете новые флаги, и kube-controller-manager модуль перезапускается (pod restart doesn't mean container restart), но kube-controller-manager container все еще использует старые флаги.

Проверьте это с помощью следующей команды:

docker ps --no-trunc | grep "kube-controller-manager --"
dcc828aa22aae3c6bb3c4ba31d0cfcac669b9c47e4cf50af580ebbb334bfea9f   sha256:40c8d10b2d11cbc3db2e373a5ffce60dd22dbbf6236567f28ac6abb7efbfc8a9                                          "kube-controller-manager --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt --cluster-signing-key-file=/etc/kubernetes/pki/ca.key --pod-eviction-timeout=30s --leader-elect=true --use-service-account-credentials=true --controllers=*,bootstrapsigner,tokencleaner --root-ca-file=/etc/kubernetes/pki/ca.crt --address=127.0.0.1 --kubeconfig=/etc/kubernetes/controller-manager.conf --service-account-private-key-file=/etc/kubernetes/pki/sa.key --allocate-node-cidrs=true --cluster-cidr=192.168.13.0/24 --node-cidr-mask-size=24"                                                  

Как только вы обновите флаги в файле /etc/kubernetes/manifests/kube-controller-manager.yaml, перезапустите контейнер док-станции kube-controller-manager, и изменения вступят в силу.Вы можете использовать следующую команду для перезапуска контейнера kube-controller-manager:

docker restart $(docker ps --no-trunc | grep "kube-controller-manager --" | awk '{print $1}')

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

...