我对Kubernetes相当陌生,我想了解如何在已经运行的集群中管理ComponentConfigs。
例如:最近我在运行Ubuntu的测试环境中初始化了kubeadm集群。当我这样做时,我发现CoreDNS在一个CrashLoopBackoff中,事实证明是这样的,因为Ubuntu被配置为使用systemd解析,因此resolv.conf配置了一个环回解析器。在阅读了coredns的文档之后,我发现解决方案是通过命令行参数或在配置中更改kubelet的resolvConf参数。
那么,如何在kubeadm管理的集群中正确地实现这一点呢?
在文档中阅读这个页面时,我并没有得到真正的线索,因为它似乎是针对初始化新集群或加入新节点的情况而定制的。
当然,在这种特殊情况下,我可以使用"Kubeadm“再次使用--config参数初始化它,但对于运行中的集群来说,这似乎不是正确的解决方案。
因此,在深入挖掘之后,我发现了几个信息:
/var/lib/kubelet/kubeadm-flags.env,但是AFAICT只对特定于节点的更改有意义。kubelet-config-1.14。对于即将加入集群的节点来说,这似乎很有希望获得正确的配置--但是改变CM会影响已经在运行的Kubelet吗?/var/lib/config/kubelet.yaml中有一个运行配置的编组版本,我可以修改它,但是这将被kubelet自己周期性地覆盖(?)或者至少在kubeadm升级期间。我似乎成功地改变了前面提到的CM,然后运行了kubeadm upgrade something并重新启动了机器(因为重新启动kubelet没有修复CoreDNS问题……但也许我太不耐烦了。
因此,我现在要求:
kubeadm ... config --config -如何提取现有的kubeadm,以便将其反馈给kubeadm?我对指向正确文档的指针非常满意,只是我自己没有找到正确的线索。
提亚
发布于 2019-09-11 08:44:39
您要寻找的内容在正式文件中有很好的描述。
配置Kubelet的基本工作流程如下:
此外,在默认情况下,从Kubernetes v1.11开始启用了DynamicKubeletConfig功能门,但是您需要一些其他步骤来激活它。您需要记住,Kubelet的--dynamic-config-dir标志必须设置为节点上的可写目录。
https://stackoverflow.com/questions/57841803
复制相似问题