【问题标题】:How can I start kube-controller-manager with config file?如何使用配置文件启动 kube-controller-manager?
【发布时间】:2021-10-06 10:02:40
【问题描述】:

我正在使用hyperkube 启动kube-controller-manager docker 容器。为了轮换 kubernetes CA,我关注了this doc。我必须将 KCM client-cacluster-signing-cert 指向不同的证书。由于 KCM 进程使用命令行参数,因此很难实现自动化。

我没有看到任何选项here。有谁知道将命令行参数迁移到config.yaml 文件的kube-controller-manager 的方法?

注意:我的问题是关于使用配置文件启动 KCM 流程,就像我们为 kubelets here 提供的一样。

【问题讨论】:

  • 不幸的是,没有。给定的示例将所有参数作为命令行参数传递给 KCM,而不是在 yaml 文件中。我正在寻找类似 kube-controller-manager --config=/etc/kcm-config.yaml 的选项
  • 什么意思?接受的答案从字面上向您展示了如何使用 yaml 文件将参数传递给 kcd。没有其他方法可以做到这一点。
  • 我正在寻找 kcm ,就像我们对 kubelet 一样 kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/… 。您展示的是 kube-controller-manager pod 的 yaml,而不是如何使用 yaml 文件启动 kcm 进程。

标签: kubernetes kube-controller-manager


【解决方案1】:

通过提供 YAML 文件,通过自定义设置启动 kube-controller-manager 有两种可能的方式。

方法#1

kube-controller-manager 在您的控制平面中作为 pod 运行。它的配置文件位于/etc/kubernetes/manifests,一个kube-controller-manager.yaml。通过像这样添加.spec.containers.command

spec:
  containers:
  - command:
    - kube-controller-manager
    - --authentication-kubeconfig=/etc/kubernetes/controller-manager.conf
...

您可以更改默认设置。

然后你必须重新启动 docker(或 containerd)

sudo systemctl restart docker (or containerd)

或者,如果你想重启kube-controller-manager

docker restart kube-controller-mamnager

方法#2

您可以像这样将ClusterConfigurationextraArgs 一起使用[reference]

apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
kubernetesVersion: v1.16.0
controllerManager:
  extraArgs:
    cluster-signing-key-file: /home/johndoe/keys/ca.key
    deployment-controller-sync-period: "50"

为此,您必须提取当前的集群配置

kubeadm config view > kubeadm-config.yaml

相应地编辑此文件,然后升级控制平面

kubeadm upgrade apply --config kubeadm-config.yaml

现在,回答您的问题 - kube-controller-manager 不支持 --config 或任何其他允许您将 YAML 文件作为参数传递的标志(您可以检查所有可用标志 here)。

唯一可能的解决方案是以上两种。

【讨论】:

  • 我已经接受了 Paweł Grondal 的回答,因为它说得对。我正在尝试做的事情不可用。作为一种解决方法,为了得到我想要的,现在我维护了同一个证书的 2 个副本,以便我可以在轮换期间使用它
猜你喜欢
  • 1970-01-01
  • 2020-07-01
  • 2021-04-05
  • 2019-08-11
  • 2018-11-13
  • 2020-12-02
  • 1970-01-01
  • 2019-09-30
  • 2018-12-21
相关资源
最近更新 更多