首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过kubeadm更改kubelet配置

如何通过kubeadm更改kubelet配置
EN

Stack Overflow用户
提问于 2019-09-08 12:05:45
回答 1查看 3.1K关注 0票数 2

我对Kubernetes相当陌生,我想了解如何在已经运行的集群中管理ComponentConfigs。

例如:最近我在运行Ubuntu的测试环境中初始化了kubeadm集群。当我这样做时,我发现CoreDNS在一个CrashLoopBackoff中,事实证明是这样的,因为Ubuntu被配置为使用systemd解析,因此resolv.conf配置了一个环回解析器。在阅读了coredns的文档之后,我发现解决方案是通过命令行参数或在配置中更改kubelet的resolvConf参数。

那么,如何在kubeadm管理的集群中正确地实现这一点呢?

在文档中阅读这个页面时,我并没有得到真正的线索,因为它似乎是针对初始化新集群或加入新节点的情况而定制的。

当然,在这种特殊情况下,我可以使用"Kubeadm“再次使用--config参数初始化它,但对于运行中的集群来说,这似乎不是正确的解决方案。

因此,在深入挖掘之后,我发现了几个信息:

  1. 我可以直接更改节点上的/var/lib/kubelet/kubeadm-flags.env,但是AFAICT只对特定于节点的更改有意义。
  2. 库贝系统命名空间中有一个名为ConfigMap的kubelet-config-1.14。对于即将加入集群的节点来说,这似乎很有希望获得正确的配置--但是改变CM会影响已经在运行的Kubelet吗?
  3. /var/lib/config/kubelet.yaml中有一个运行配置的编组版本,我可以修改它,但是这将被kubelet自己周期性地覆盖(?)或者至少在kubeadm升级期间。
  4. 似乎有一个选项可以在节点对象中指定configmap,让kubelet从那里动态加载配置,但考虑到已经存在一个现有的configmap,更改该配置似乎更明智。

我似乎成功地改变了前面提到的CM,然后运行了kubeadm upgrade something并重新启动了机器(因为重新启动kubelet没有修复CoreDNS问题……但也许我太不耐烦了。

因此,我现在要求:

  1. 推荐的对kubelet配置(或我可能通过kubeadm-config.yaml影响的任何其他配置)进行更改的推荐方法是什么?对于配置不特定于节点的情况,它是安全的吗?
  2. 如果这涉及运行kubeadm ... config --config -如何提取现有的kubeadm,以便将其反馈给kubeadm?

我对指向正确文档的指针非常满意,只是我自己没有找到正确的线索。

提亚

EN

回答 1

Stack Overflow用户

发布于 2019-09-11 08:44:39

您要寻找的内容在正式文件中有很好的描述。

配置Kubelet的基本工作流程如下:

  • 编写包含Kubelet配置的YAML或JSON配置文件。
  • 将该文件包装在一个ConfigMap中,并将其保存到Kubernetes控制平面。更新Kubelet的相应Node对象以使用此ConfigMap。

此外,在默认情况下,从Kubernetes v1.11开始启用了DynamicKubeletConfig功能门,但是您需要一些其他步骤来激活它。您需要记住,Kubelet的--dynamic-config-dir标志必须设置为节点上的可写目录。

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

https://stackoverflow.com/questions/57841803

复制
相关文章

相似问题

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