本文讨论有关Microsoft Azure Kubernetes 服务(AKS)中最常见的自带密钥(BYOK)问题的故障排除方法。
先决条件
故障排除清单
步骤 1:注册预览功能以在临时 OS 磁盘上启用 BYOK
若要在临时操作系统(OS)磁盘(OS)磁盘(Microsoft.ContainerService/EnableBYOKOnEphemeralOSDiskPreview
)上注册启用 BYOK 的预览功能,请运行 az feature register 和 az feature show 命令。 有关说明,请参阅 注册客户管理的密钥(预览版)功能。
步骤 2:创建在临时 OS 磁盘上使用 BYOK 的群集
若要在临时 OS 磁盘上创建使用 BYOK 的 AKS 群集,请运行 az aks create 命令。 有关说明,请参阅 创建新的 AKS 群集并加密 OS 磁盘。
注意
如果未在az aks create
命令中指定--node-osdisk-type
参数,则Ephemeral
节点的默认 OS 磁盘类型仅当当前虚拟机(VM)大小支持临时 OS 磁盘时。 有关详细信息,请参阅 Azure 虚拟机的临时 OS 磁盘。
原因 1:无法在密钥保管库中启用清除保护
如果收到 CreateVMSSAgentPoolFailed
错误代码和 KeyVaultNotPurgeProtectionEnabled
错误子代码,则为虚拟机规模集创建代理池失败,因为在创建密钥保管库时未启用清除保护。
解决方案 1:创建密钥保管库时启用清除保护
再次运行 az keyvault create 命令,并为参数指定值true
--enable-purge-protection
。 有关说明,请参阅创建 Azure 密钥库 实例。
原因 2:当虚拟机规模集的代理池创建失败时,密钥保管库和磁盘位于不同的区域中
如果收到 CreateVMSSAgentPoolFailed
错误代码和 KeyVaultAndDiskInDifferentRegions
错误子代码,密钥保管库和磁盘加密集位于不同的区域中。 密钥保管库和磁盘加密集必须位于同一区域。
解决方案 2:创建密钥保管库时,使用与磁盘相同的区域
再次运行 az keyvault create 命令,并确保在--location
参数中指定的值与用于磁盘加密集的区域相同。 有关说明,请参阅创建 Azure 密钥库 实例。
原因 3:未授予磁盘加密集
如果删除密钥保管库的磁盘加密集权限,则 AKS 群集节点不会运行。 在这种情况下,在Azure 门户的磁盘加密集页中收到以下错误消息:
若要将磁盘、映像或快照与此磁盘加密集相关联,必须向密钥保管库授予权限。
解决方案 3:更新安全策略设置
通过运行 az keyvault set-policy 命令再次更新安全策略设置。 有关说明,请参阅 授予 DiskEncryptionSet 对密钥保管库的访问权限。
参考
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。