我注意到 AKS 服务之一处于失败状态。当我进行诊断时,我发现当前版本不再受支持。因此我尝试按照此处的说明进行操作:https://docs.microsoft.com/en-us/azure/aks/upgrade-cluster
我首先运行了以下命令:
az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster --output table
进而:
az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version new_version
这将产生一个错误:
操作失败,状态为“冲突”。详细信息:集群处于故障状态时不允许升级。有关解决步骤,请访问https://aka.ms/aks-cluster-failed排除集群状态可能出现故障的原因以及修复集群状态的步骤。
因此,状态由于旧版本而失败,并且由于状态失败而无法更新版本...我检查了这个https://stackoverflow.com/questions/54631309/this-container-service-is-in-a-failed-state但这不是我们的问题,我们有足够的资源可供使用(我们已核实az aks show --resource-group myResourceGroup --name myAKSCluster --query agentPoolProfiles
)
删除并重新创建 AKS 不是一个选项。
答案1
因此,经过几个小时尝试不同的解决方案并失败后,我在以下答案中找到了解决方案:https://github.com/Azure/AKS/issues/542
为了修复由于版本过时而导致的失败状态,我只需执行以下操作:
将 aks 升级到已有的版本。我的版本是 1.14.8,我只需运行:
az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.14.8
这修复了集群的失败状态!
在此之后,我只需升级到正确的下一个版本(在我的情况下是 1.18.19):
az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.18.19
我希望这可以让一些人免去数小时的挫败感:)