微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在实时集群中添加 apiserver extraArgs/extraVolumes

如何解决在实时集群中添加 apiserver extraArgs/extraVolumes

我有一个 Kubernetes 集群 1.17,我想在 apiserver 中添加一些 extraArgsextraVolumes(如 https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/control-plane-flags/)。通常,我更新清单文件 /etc/kubernetes/manifests/kube-apiserver.yaml 以应用我的新配置,然后更新 kubeadm-config ConfigMap 以保留此新配置以用于下一次 Kubernetes 升级(因为静态 pod 清单是从此 ConfigMap 重新生成的)升级时)。

是否可以只更新 kubeadm-config ConfigMap,然后使用 kubeadm init phase control-plane apiserver 之类的命令应用配置?有哪些风险?

解决方法

这就是升级 static pod definitionscontrol plane components 的方法,但我猜你的意思是 init 而不是 upgrade 命令。

$ kubeadm upgrade 命令在每次应用更改之前参考来自 ConfigMap ($ kubectl -n kube-system get cm kubeadm-config -o yaml) 的当前集群配置。

说到风险,你可以尝试通过研究 kubeadm upgrade diff 命令的输出来设想它们,例如

kubeadm upgrade diff v1.20.4this documentation 中的更多详细信息。您也可以尝试使用 this doc 中的 --dry-run 标志。它不会改变任何状态,它会显示将要执行的操作。

此外,您还可以从 this docs

中阅读有关 --experimental-patches 的信息 ,

如果您的意思是更改实时集群中的 apiserver 配置,您可以更改 /etc/kubernetes/manifest/kubeadm-apiserver.conf 以应用。

但是你必须小心,因为旧的静态 pod 会在新 pod 准备好之前被杀死。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。