【发布时间】:2021-08-03 16:40:29
【问题描述】:
对 k8s 非常陌生。我需要更新传递给 api-server 的启动参数,但不知道正确的方法是什么。
我用kubeadm init安装了控制平面。
在master上我可以看到/etc/kubernetes/manifests/kube-apiserver.yaml中的参数。我是否只是编辑该文件并以某种方式强制重新加载?
【问题讨论】:
标签: kubernetes
对 k8s 非常陌生。我需要更新传递给 api-server 的启动参数,但不知道正确的方法是什么。
我用kubeadm init安装了控制平面。
在master上我可以看到/etc/kubernetes/manifests/kube-apiserver.yaml中的参数。我是否只是编辑该文件并以某种方式强制重新加载?
【问题讨论】:
标签: kubernetes
好的,所以基于Where is kube-apiserver located,这似乎是正确的方法。
更新 yaml 配置后,它会自动触发重新加载 pod。就我而言,我在配置中引入了一个错误,导致 pod 不断循环。
我最终在/var/log/pods/kube-system_kube-apiserver* 中找到了日志,并且能够识别并纠正错误。
【讨论】:
kube-apiserver 在主节点上作为静态 pod 运行,静态 pod 定义文件可在文件 /var/lib/kubelet 中名为 staticPodPath 的参数定义的路径中使用/config.yaml。就我而言,它是这样的:
staticPodPath: /etc/kubernetes/manifests
您可以在 kube-apiserver.yaml 路径中对 pod 定义文件进行更改,更改将自行生效。 kube-apiserver 等静态 Pod 由 kubelet 控制,这些 Pod 由 Kubelet 重新创建,以防 Pod 定义文件发生任何更改。
【讨论】: