Диспетчер контроллеров Kubernetes не обновляется
Я пытаюсь добавить некоторые дополнительные флаги в свой диспетчер контроллеров kubernetes и обновляю флаги в файле /etc/kubernetes/manifests/kube-controller-manager.yaml. Но изменения, которые я добавляю, не вступают в силу. Kubelet обнаруживает изменения в файле и перезапускает модули, но после перезапуска они возвращаются со старыми флагами.
Есть идеи?
2 ответа
Таким образом, кажется, что любой файл в /etc/kubernetes/manifest загружается кублетом. Поэтому, когда я добавлял новые флаги, я делал резервную копию существующего файла с расширением.bak, но kubelet по-прежнему загружал файл.bak вместо нового файла.yaml. Мне кажется, это ошибка. В любом случае, рад, что заметил ошибку.
Причина в том, что контейнер запускается со старыми флагами, когда вы передаете новые флаги и 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
файл, перезапустите docker-контейнер kube-controller-manager, и изменения вступят в силу. Вы можете использовать следующую команду для перезапуска контейнера kube-controller-manager:
docker restart $(docker ps --no-trunc | grep "kube-controller-manager --" | awk '{print $1}')
Надеюсь это поможет.