在活集群中添加apisserver extraArgs/extraVolumes



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

是否有可能只更新kubeadm-configConfigMap,然后使用kubeadm init phase control-plane apiserver这样的命令应用配置?有哪些风险?

这是升级control plane componentsstatic pod definitions的方法,但不是init命令,我猜你的意思是升级。

$ kubeadm upgrade命令每次在应用更改之前从ConfigMap ($ kubectl -n kube-system get cm kubeadm-config -o yaml)中查询当前集群配置。

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

kubeadm upgrade diff v1.20.4。更多细节见本文档。你也可以尝试使用--dry-run标志从这个文档。它不会改变任何状态,它会显示将要执行的操作。

另外,您还可以从这个文档

中阅读--experimental-patches

如果你的意思是在一个运行的集群中修改apiserver配置,你可以修改/etc/kubernetes/manifest/kubeadm-apiserver.conf来应用。

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

相关内容

  • 没有找到相关文章