AWS EKS cluster 在 auto mode 出現之前, aws_eks_cluster 通常不會去設定這幾個選項, 預設如下:
bootstrap_self_managed_addons = true access_config { authentication_mode = "CONFIG_MAP" bootstrap_cluster_creator_admin_permissions = false #1 }
但是 auto mode 出現之後, 有用 auto mode 就需要這樣設定:
bootstrap_self_managed_addons = false access_config { authentication_mode = "API_AND_CONFIG_MAP" bootstrap_cluster_creator_admin_permissions = false }
沒用 auto mode 就需要這樣設定:
bootstrap_self_managed_addons = true access_config { authentication_mode = "CONFIG_MAP" bootstrap_cluster_creator_admin_permissions = true #2 }
有發現 #1 跟 #2 設定值不同
在 auto mode 出現之前已經開起來的 EKS cluster 目前還沒出現明顯異常, 但是在 terraform 裡面還是會做成設定一致, 所以就來試著更動已存在的 EKS cluster 這個設定.
# module.cellar.module.eks.module.cluster["foobar"].aws_eks_cluster.this must be replaced -/+ resource "aws_eks_cluster" "this" { ... ~ access_config { ~ bootstrap_cluster_creator_admin_permissions = false -> true # forces replacement # (1 unchanged attribute hidden) } ... }
乾~ 更動 bootstrap_cluster_creator_admin_permissions 的設定竟然要把 cluster 砍掉重練!
為了往後新的 EKS cluster 設定的正確性, 只好在 aws_eks_cluster 裡面放一段 lifecycle 讓已存在的 cluster 不受影響:
lifecycle { ignore_changes = [ access_config[0].bootstrap_cluster_creator_admin_permissions ] }