具有密钥管理服务 (KMS) 等加密的 Azure Kubernetes 服务 (AKS) 群集的可观测性

本文介绍如何查看可观测性指标,并改进具有 KMS etcd 加密的 AKS 群集的可观测性。

先决条件

检查 KMS 配置

  • 使用 az aks show 命令获取 KMS 配置。

    az aks show --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --query "securityProfile.azureKeyVaultKms"
    

    输出类似于以下示例输出:

    ...
    "securityProfile": {
      "azureKeyVaultKms": {
        "enabled": true,
        "keyId": "https://<key-vault-name>.vault.azure.cn/keys/<key-name>/<key-id>",
        "keyVaultNetworkAccess": "Public",
        "keyVaultResourceId": <key-vault-resource-id>
    ...
    

诊断并解决问题

由于 KMS 插件作为 Pod 的kube-apiserver sidecar 容器,因此无法直接访问它。 若要提高 KMS 的可观测性,可以使用 Azure 门户检查 KMS 状态。

  1. 在 Azure 门户中导航到你的 AKS 群集。
  2. 在服务菜单中,选择“ 诊断”并解决问题
  3. 在搜索栏中,搜索 KMS 并选择 Azure KeyVault KMS 集成问题

示例问题

假设你会看到以下问题: KeyExpired: Operation encrypt isn't allowed on an expired key

由于 AKS KMS 插件当前仅允许自带 (BYO) 密钥保管库和密钥,因此你有责任管理密钥生命周期。 如果密钥已过期,KMS 插件将无法解密现有机密。 若要解决此问题,需要 延长密钥到期日期 以使 KMS 正常工作并 轮换密钥版本

后续步骤

有关将 KMS 与 AKS 配合使用的详细信息,请参阅以下文章: