【问题标题】:How can I customize the arguments to a kubernetes system pod such as kube-apiserver in Kind?如何自定义 kubernetes 系统 pod 的参数,例如 Kind 中的 kube-apiserver?
【发布时间】:2020-03-26 22:34:45
【问题描述】:

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

【问题讨论】:

    标签: kubernetes kind


    【解决方案1】:

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

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

    docker ps|grep cluster-control-plane
    

    在其中获取一个外壳:

    docker exec -it 4aeedccce928 bash
    

    安装编辑器(例如emacs)并编辑上述文件以添加/删除/替换the desired arguments

    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 文档检查清单文件是否有语法错误。

    【讨论】:

    • 如果有人发现这是不使用 Kind 的,请将 docker exec 位替换为 SSH 到您的控制平面节点。
    猜你喜欢
    • 2021-10-23
    • 1970-01-01
    • 2018-10-05
    • 2016-04-22
    • 1970-01-01
    • 2020-12-31
    • 2022-01-25
    • 2021-06-12
    • 2019-12-19
    相关资源
    最近更新 更多