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
]
}