首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Kubernetes控制器管理器pod未更新

Kubernetes控制器管理器pod未更新
EN

Stack Overflow用户
提问于 2018-11-26 20:22:23
回答 2查看 1.7K关注 0票数 1

我正在尝试向kubernetes控制器管理器添加一些额外的标志,并且正在更新/etc/kubernetes/manifests/kube-controller-manager.yaml文件中的标志。但我添加的更改并未生效。kubelet正在检测文件的更改并重新启动pod,但是一旦重新启动,它们就会带着旧的标志返回。

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2018-11-26 22:52:51

因此,/etc/kubernetes/manifests下的任何文件似乎都是由kubelet加载的。因此,当我添加新标志时,我备份了扩展名为.bak的现有文件,但kubelet仍在加载.bak文件,而不是新的.yaml文件。在我看来这是个bug。无论如何,很高兴发现了这个错误。

票数 1
EN

Stack Overflow用户

发布于 2018-11-26 20:45:01

这背后的原因是,当您传递新标志时,容器是使用旧标志启动的,kube-controller-manager pod重新启动(pod restart doesn't mean container restart),但kube-controller-manager container仍在使用旧标志。

使用以下命令进行检查:

代码语言:javascript
代码运行次数:0
运行
复制
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的docker容器,更改将会生效。您可以使用以下命令重启kube-controller-manager容器:

代码语言:javascript
代码运行次数:0
运行
复制
docker restart $(docker ps --no-trunc | grep "kube-controller-manager --" | awk '{print $1}')

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53481043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档