azure - AKS 节点池处于失败状态,PODS 全部挂起

标签 azure azure-aks

昨天我在命令行中使用 kubectl,并在尝试任何命令后收到此消息。前一天一切正常,我没有碰过 AKS 中的任何东西。

Unable to connect to the server: x509: certificate has expired or is not yet valid: current time 2022-01-11T12:57:51-05:00 is after 2022-01-11T13:09:11Z

经过一番谷歌解决这个问题后,我找到了有关轮换证书的指南: https://learn.microsoft.com/en-us/azure/aks/certificate-rotation

遵循轮换指南后,它修复了我的证书问题,但我的所有 Pod 仍处于待处理状态,因此我遵循了本指南:https://learn.microsoft.com/en-us/azure/aks/update-credentials

然后我的一个节点池再次开始工作,它是用户类型的,但系统类型的节点池仍然处于失败状态,所有 Pod 都处于挂起状态。

我不确定接下来应该采取哪些步骤来解决此问题。有人有什么建议吗?我本来打算删除节点池并创建一个新节点池,但我也无法这样做,因为它是最后一个系统节点池。

最佳答案

假设您使用早于 2020-03-01 的 API 版本来创建 AKS 集群。

创建和管理支持系统节点池的 AKS 群集时存在一些限制。

• An API version of 2020-03-01 or greater must be used to set a node pool mode. Clusters created on API versions older than 2020-03-01 contain only user node pools, but can be migrated to contain system node pools by following update pool mode steps.

• The mode of a node pool is a required property and must be explicitly set when using ARM templates or direct API calls.

您可以使用 MS Document 中提供的 Bicep/JSON 代码创建 AKS 集群,因为使用升级的 API 版本。

您还可以关注此 MS Document 如果要创建带有系统节点池的新 AKS 集群并向现有 AKS 集群添加专用系统节点池。

以下命令添加模式类型系统的专用节点池,默认数量为三个节点。

az aks nodepool add \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name systempool \
    --node-count 3 \
    --node-taints CriticalAddonsOnly=true:NoSchedule \
    --mode System

关于azure - AKS 节点池处于失败状态,PODS 全部挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70682691/

相关文章:

powershell - 无法删除 azure 恢复服务保管库

azure - 通过 ARM 模板将节点池添加到现有 AKS 集群

kubernetes - Shell (ssh) 到 Azure AKS (Kubernetes) 群集工作节点

azure - 如何将 Azure Kubernetes 日志导出到存储帐户或从应用程序洞察中查看旧的 Pod 日志?

javascript - 通过azure存储上传图像

c# - Azure 查询可能存在性能问题

c# - 上传到 Azure 文件存储因大文件而失败

azure - Terraform 状态与外部更改同步

azure - 在 MC_ 资源组外部部署 AKS 代理池托管标识

Azure DevOps az cli 以用户身份从管道登录