通过提供 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
你可以改变使用ClusterConfiguration
这样extraArgs
的[参考]:
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 文件作为参数传递的标志(您可以在此处检查所有可用标志)。
唯一可能的解决方案是上述两个。