AKS 版本升级错误:操作失败,状态为:“冲突”。详细信息:当集群处于失败状态时不允许升级

Nem*_*vic 1 azure aks

我注意到 AKS 服务之一处于失败状态。当我去诊断时,我发现不再支持当前版本。所以我尝试按照此处说明的说明进行操作:https : //docs.microsoft.com/en-us/azure/aks/upgrade-cluster

我首先运行命令:

az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster --output table
Run Code Online (Sandbox Code Playgroud)

进而:

az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version new_version
Run Code Online (Sandbox Code Playgroud)

这会产生一个错误:

操作失败,状态为:“冲突”。详细信息:当集群处于失败状态时不允许升级。有关解决步骤,请访问https://aka.ms/aks-cluster-failed以解决集群状态可能失败的原因以及修复集群状态的步骤。

因此,状态因旧版本而失败,由于状态失败而无法更新版本......我检查了这个/sf/ask/3824191661/失败状态,但这不是我们的问题,我们有足够的资源来处理(我们检查过az aks show --resource-group myResourceGroup --name myAKSCluster --query agentPoolProfiles

删除和重新创建 AKS 不是一种选择。

Nem*_*vic 5

因此,经过数小时的尝试不同的解决方案并失败后,我在这里的答案中找到了解决方法:https : //github.com/Azure/AKS/issues/542

为了修复由于版本过时而导致的失败状态,我只需执行以下操作:

将 aks 升级到已经存在的版本。所以我的版本是 1.14.8,我只是跑了:

az aks upgrade  --resource-group myResourceGroup  --name myAKSCluster --kubernetes-version 1.14.8
Run Code Online (Sandbox Code Playgroud)

修复了集群的失败状态!

在此之后,我只是升级到正确的下一个版本(在我的例子中是 1.18.19):

az aks upgrade  --resource-group myResourceGroup  --name myAKSCluster --kubernetes-version 1.18.19
Run Code Online (Sandbox Code Playgroud)

我希望这会为某人节省数小时的挫折:)