繁体   English   中英

Terraform Azure AKS - 如何安装 azure-keyvault-secrets-provider 附加组件

[英]Terraform Azure AKS - How to install azure-keyvault-secrets-provider add-on

我有一个配备了terraformAKS kubernetes 集群。 我需要启用azure-keyvault-secrets-provider附加组件。

使用 azure CLI,我可以按如下方式启用它:

az aks enable-addons --addons azure-keyvault-secrets-provider --name myAKSCluster --resource-group myResourceGroup

但是,我怎样才能用terraform做到这一点? 我尝试了文档,但没有提到任何关于秘密驱动程序的信息,除了一个块如下:

resource "azurerm_kubernetes_cluster" "k8s_cluster" {
  lifecycle {
    ignore_changes = [
      default_node_pool
    ]
    prevent_destroy = false
  }

  key_vault_secrets_provider {
    secret_rotation_enabled = true
  }
...
}

上面的key_vault_secrets_provider是否与 azure CLI 命令az aks enable-addons --addons azure-keyvault-secrets-provider --name myAKSCluster --resource-group myResourceGroup做同样的事情?

因为根据 terraform 文档,此key_vault_secrets_provider块仅用于旋转 keyvault 机密。 但是没有提到启用驱动程序。

我的要求是:

  1. 启用机密提供程序驱动程序
  2. 创建一个 kubernetes Secret -> 这样它将在 azure 中提供 secret
  3. 将秘密注入 kubernetes 部署

我试图在我的环境中检查相同的内容:

代码:没有 key_vault_secrets_provider

主.tf

resource "azurerm_kubernetes_cluster" "example" {
  name                = "kavyaexample-aks1"
  location            = data.azurerm_resource_group.example.location
  resource_group_name = data.azurerm_resource_group.example.name
  dns_prefix          = "kavyaexampleaks1"

  default_node_pool {
    name       = "default"
    node_count = 1
    vm_size    = "Standard_D2_v2"
  }

  identity {
    type = "SystemAssigned"
  }

  tags = {
    Environment = "Production"
  }
}

output "client_certificate" {
  value     = azurerm_kubernetes_cluster.example.kube_config.0.client_certificate
  sensitive = true
}

在此处输入图像描述

  • 当通过 CLI 检查我的托管 aks 集群的可用插件列表时,“azure-keyvault-secrets-provider”显示为已禁用。这意味着对于最新版本的 terraform 提供程序,它们有提供程序。只是需要启用它.

命令:

az aks addon list –name kavyaexample-aks1  --resource-group <myrg>

在此处输入图像描述

现在在添加启用秘密轮换的 key_vault_secrets_provider 块后进行检查。 主.tf:

resource "azurerm_kubernetes_cluster" "example" {
  name                = "kavyaexample-aks1"
  location            = data.azurerm_resource_group.example.location
  resource_group_name = data.azurerm_resource_group.example.name
  dns_prefix          = "cffggf"
  ....
key_vault_secrets_provider {
    secret_rotation_enabled = true
  }
  default_node_pool {
    name       = ”dfgdf”
      ...

}

当使用相同的命令检查插件列表时:

az aks addon list –name kavyaexample-aks1 --resource-group <myrg>

在此处输入图像描述

正在启用 azure keyvault secret provider 插件

在此处输入图像描述

这意味着添加启用密钥轮换的 key_vault_secrets_provider 块本身意味着,我们正在使用 azure keyvault secret provider 插件。

还要检查这个关于 addon_profile 的 terraform-azurerm-aks 问题在最新的 terraform 版本中被弃用 |github

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM