【发布时间】:2021-07-17 18:06:41
【问题描述】:
在为 GKE 集群部署部署相同的 terraform google_container_cluster 配置时,我发现两个 GCP 项目之间存在差异。
terraform google_container_cluster 配置明确禁用屏蔽节点:
resource "google_container_cluster" "csurv-cluster" {
...
enable_shielded_nodes = false
...
此 terraform 配置用于跨多个项目配置集群,除一个项目外,这些集群配置为禁用屏蔽节点。
一个项目不遵守此配置,并在最初配置集群时提供屏蔽节点。
稍后在重新连接到集群进行维护时,会检测到请求配置和预置配置之间的差异,这会导致节点被修复以匹配 terraform 配置,从而导致不必要的中断。
关于为什么会发生这种情况以及我可以做些什么来解决的任何建议?
【问题讨论】:
-
这看起来不像 GKE 的问题。只要您不创建“GKE Autopilot clusters”(对于 GKE Autopilot 集群,屏蔽 GKE 节点功能默认启用且无法覆盖)或使用“shielded VM(其他社区成员建议)”约束,您应该能够通过禁用 Shielded GKE 节点功能来创建集群。
-
为了确认问题是否与 GKE 集群有关,我建议您直接使用 gcloud 或 UI 部署一个测试集群(使用与您的 terraform 文件完全相同的配置),看看是否是允许在没有屏蔽 GKE 节点功能的情况下创建该集群。如果它允许您创建一个这样的集群,则问题可能出在您的 terraform 代码中。
标签: terraform google-kubernetes-engine