【问题标题】:Change flags to kubernetes api-server running inside Docker for Mac将标志更改为在 Docker for Mac 中运行的 kubernetes api-server
【发布时间】:2019-04-30 05:40:42
【问题描述】:

我在 Mac OS High Sierra 上的“Docker Desktop”内运行 kubernetes。

是否可以通过此设置更改给予 kubernetes api-server 的标志?

我可以看到 api-server 正在运行。

我能够执行到 api-server 容器中。当我杀死 api-server 以便可以使用我想要的标志运行它时,容器会立即被杀死。

【问题讨论】:

    标签: kubernetes docker-for-mac


    【解决方案1】:

    试试这个找到 apiserver 部署的名称:

    kubectl -n kube-system get deploy | grep apiserver
    

    获取部署名称并编辑其配置:

    kubectl -n kube-system edit deploy APISERVER_DEPLOY_NAME
    

    当您这样做时,编辑器将打开,您可以从那里更改 apiserver 命令行标志。编辑后您应该保存并关闭编辑器,然后您的更改将被应用。

    【讨论】:

    • 很好的答案@Vasily Angapov。我只在 kube-system 命名空间中看到 1 个部署。 “kubectl -n kube-system get deployment”只返回 kube-dns。看起来“Docker for mac”中的 kubernetes 集群不是典型设置?
    • 在这个目录下:/etc/kubernetes/manifests/应该放在kube-apiserver.yaml寻找kube-apiserver请尝试使用kubectl get pods -n kube-system而不是部署。
    • 注意 - 对于基于 kubeadm 的系统,您可能无法获得部署。或者,您可以编辑 /etc/kubernetes/manifests/kube-apiserver.yaml 并删除 kube-apiserver pod 以重新启动它
    【解决方案2】:

    我没有针对 kube-apiserver 的部署,因为这些 pod 是静态的,因此它们是由 kubelet 创建和管理的。

    更改kube-api的参数的方法就像@hanx提到的:

    1. ssh 进入主节点(不是容器);
    2. 更新-/etc/kubernetes/manifests/下的文件;
    3. 重启kubelet - systemctl restart kubelet;

    【讨论】:

    • 你知道如何在 mac docker-desktop 中通过 ssh 进入 kube-apiserver 吗?
    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 2019-02-25
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多