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