0

我想自定义 kube-apiserver 的参数,以便检查正在发出的请求,以便调试失败的请求。但是,我不确定我需要修改什么。我知道 kube-apiserver 不能与 helm 一起部署,因为 helm 需要一个 API 服务器才能完成它的工作。所以它必须通过其他一些引导方法进行部署,但是查看那种源代码我无法弄清楚该方法是什么。

4

1 回答 1

1

kube-apiserver 配置了一个静态清单文件,该文件存储在/etc/kubernetes/manifests/kube-apiserver.yaml.

所以在实物中找出作为Kubernetes控制平面节点的容器的ID:

docker ps|grep cluster-control-plane

在其中获取一个外壳:

docker exec -it 4aeedccce928 bash

安装编辑器(例如 emacs)并编辑上述文件以添加/删除/替换所需的参数

apt-get update
apt-get install emacs-nox
emacs /etc/kubernetes/manifests/kube-apiserver.yaml

Kubernetes 将检测文件更改并自动重启服务器,可以通过以下方式进行验证:

ps -Afl|grep kube-apiserver

如果它在启动时崩溃,您可以使用

apt-get install less
less /var/log/pods/kube-system_kube-apiserver-cluster-control-plane_*/*/*.log

如果容器根本无法启动,那里不会有任何日志文件 - 请参阅 Kubernetes 文档检查清单文件中的语法错误。

于 2020-03-26T22:34:45.083 回答