【发布时间】:2021-01-09 17:35:10
【问题描述】:
我认为没有愚蠢的问题,所以这里有一个我找不到直接答案的问题。
情况
我目前有一个在 AKS 上运行 1.15.x 的 Kubernetes 集群,通过 Terraform 进行部署和管理。 AKS 最近 Azure 宣布他们将在 AKS 上淘汰 1.15 版本的 Kubernetes,我需要将集群升级到 1.16 或更高版本。现在,据我了解,直接在 Azure 中升级集群不会对集群的内容、IE 节点、Pod、机密和当前存在的所有其他内容产生任何影响,但我找不到任何正确答案来解决会发生什么如果我通过 Terraform 升级集群。
潜在问题
那么会出什么问题呢?在我看来,最坏的结果是整个集群都被摧毁,而一个新的集群会被创建。没有豆荚,没有秘密,什么都没有。由于那里的信息太少,我在这里询问是否有任何对 Terraform 和 Kubernetes 有更多经验的人可以帮助我。
总结:
Terraform 版本
Terraform v0.12.17
+ provider.azuread v0.7.0
+ provider.azurerm v1.37.0
+ provider.random v2.2.1
我在做什么
§ terraform init
//running terrafrom plan with new Kubernetes version declared for AKS
§ terraform plan
//Following changes are announced by Terraform:
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
#module.mycluster.azurerm_kubernetes_cluster.default will be updated in-place...
...
~ kubernetes_version = "1.15.5" -> "1.16.13"
...
Plan: 0 to add, 1 to change, 0 to destroy.
我想要发生的事情
Terraform 将告诉 Azure 升级现有的 AKS 服务,而不是在创建新服务之前销毁。我认为这会发生,因为 Terraform 宣布它将“就地更新”,而不是添加新的和/或破坏现有的集群。
【问题讨论】:
标签: kubernetes terraform azure-aks