在 Google Compute Engine 上的 Kubernetes 集群 运行 之后,我是否应该编辑 salt tar 文件?

Should I edit the salt tar files after a Kubernetes cluster is running on Google Compute Engine?

我已经 curl -sS https://get.k8s.io | bash 使用 Kubernetes 1.2.4 在 Google Compute Engine 上创建了一个集群。这很好用。我想通过向 kube-apiserver pod 规范中指定的 kube-apiserver 命令添加一些标志来启用 ABAC 授权模式。

我不清楚是否应该调整 the salt files once they're tar/gzipped. The salt file that the pod spec is generated from is here,但在集群启动后编辑它有一些额外的要求:

感觉我走错了路,因为这也会与升级发生冲突。

有没有更好的方法来配置 pods、服务等,而无需执行所有这些操作?

内置于安装脚本中的定制位于您可以设置以更改行为的环境变量中(请参阅 cluster/gce/config-default.sh)。如果覆盖这些变量之一不起作用(我相信 ABAC 就是这种情况),那么您唯一的选择是手动修改 salt 文件。

如果您愿意从源代码构建 Kubernetes,最简单的方法是在所需的发布版本中克隆 github 存储库,在本地修改 salt 文件,然后 运行 make quick-release 然后 ./cluster/kube-up.sh。这将构建一个版本(来自源代码),捆绑在您本地修改的 salt 文件中,生成校验和,将 salt 文件上传到 Google Cloud Storage,然后在您的集群中启动一个具有正确的 salt 文件和校验和的集群.

如果您不想从源代码构建,而不是调整所有实例的 kube-env 元数据条目,您可以在实例模板中修复它,然后删除每个实例。它们将自动被新实例替换,新实例将继承您对实例模板所做的更改。

您当前的机制不会真正影响升级,因为升级会在新版本中创建新的实例模板。您对旧实例模板(或直接旧节点)所做的任何更改都不会转移到新节点(无论好坏)。