我们已经使用静态Pod部署了k8的etcd,这是其中的3个。我们要升级pod来为它们定义一些标签和就绪探测器。我已经搜索过,但是没有提到任何问题/文章。因此,我想了解升级静态Pod的最佳实践。
例如,我发现直接修改yaml文件可能会导致pod计划外时间很长,也许我应该删除旧文件并创建一个新文件?
答案 0 :(得分:1)
如果要为其定义就绪探针,则需要重新创建容器,对于标签来说,编辑就足够了。
如果编辑readinessProbe,Kubernetes将引发以下错误:
# * spec: Forbidden: pod updates may not change fields other than `spec.containers[*].image`, `spec.initContainers[*].image`, `spec.activeDeadlineSeconds` or `spec.tolerations` (only additions to existing tolerations)
另请参阅https://stackoverflow.com/a/40363057/499839
您是否考虑过使用DaemonSet? https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/