Использование поставщика Azure Key Vault для драйвера CSI хранилища секретов в кластере Служба Azure Kubernetes (AKS)
Статья
Поставщик Azure Key Vault для драйвера CSI хранилища секретов позволяет интегрировать Azure Key Vault в качестве хранилища секретов с кластером Служба Azure Kubernetes (AKS) через том CSI.
Функции
Подключает секреты, ключи и сертификаты к pod с помощью тома CSI.
Поддерживает встроенные тома CSI.
Поддерживает подключение нескольких объектов хранилища секретов в виде одного тома.
Поддерживает переносимость pod с помощью SecretProviderClass CRD.
Поддерживает контейнеры Windows.
Синхронизируется с секретами Kubernetes.
Поддерживает авторотацию подключенного содержимого и синхронизированных секретов Kubernetes.
Ограничения
Контейнер, использующий подключение тома subPath, не получает секретных обновлений при повороте. Дополнительные сведения см. в разделе "Известные ограничения для хранилища секретов CSI Driver".
Создание кластера AKS с помощью поставщика Azure Key Vault для поддержки драйвера CSI хранилища секретов
Создайте группу ресурсов Azure с помощью az group create команды.
az group create --name myResourceGroup --location eastus2
Создайте кластер AKS с поставщиком Azure Key Vault для возможности драйвера CSI хранилища секретов с помощью команды с параметром az aks create--enable-addons azure-keyvault-secrets-provider . Надстройка создает управляемое удостоверение, назначаемое пользователем, можно использовать для проверки подлинности в хранилище ключей. В следующем примере создается кластер AKS с включенным поставщиком Azure Key Vault для драйвера CSI хранилища секретов.
Примечание
Если вы хотите использовать Идентификация рабочей нагрузки Microsoft Entra, необходимо также использовать --enable-oidc-issuer параметры и --enable-workload-identity параметры, например в следующем примере:
az aks create --name myAKSCluster --resource-group myResourceGroup --enable-addons azure-keyvault-secrets-provider --enable-oidc-issuer --enable-workload-identity --generate-ssh-keys
az aks create \
--name myAKSCluster \
--resource-group myResourceGroup \
--enable-addons azure-keyvault-secrets-provider \
--generate-ssh-keys
Предыдущая команда создает управляемое удостоверение, назначаемое пользователем, azureKeyvaultSecretsProviderдля доступа к ресурсам Azure. В следующем примере используется это удостоверение для подключения к хранилищу ключей, в которой хранятся секреты, но также можно использовать другие методы доступа к удостоверениям. Запишите идентификатор clientId в выходных данных.
После включения этой функции AKS создает управляемое удостоверение с именем azurekeyvaultsecretsprovider-xxx в группе ресурсов узла и автоматически назначает его Масштабируемые наборы виртуальных машин (VMSS). Это управляемое удостоверение или собственное управляемое удостоверение можно использовать для доступа к хранилищу ключей. Он не поддерживается, чтобы предотвратить создание удостоверения.
Обновление существующего кластера AKS с помощью поставщика Azure Key Vault для поддержки драйвера CSI хранилища секретов
Обновите существующий кластер AKS с помощью поставщика Azure Key Vault для возможности драйвера CSI хранилища секретов с помощью az aks enable-addons команды и включите надстройку azure-keyvault-secrets-provider . Надстройка создает управляемое удостоверение, назначаемое пользователем, можно использовать для проверки подлинности в хранилище ключей.
az aks enable-addons --addons azure-keyvault-secrets-provider --name myAKSCluster --resource-group myResourceGroup
Примечание
После включения этой функции AKS создает управляемое удостоверение с именем azurekeyvaultsecretsprovider-xxx в группе ресурсов узла и автоматически назначает его Масштабируемые наборы виртуальных машин (VMSS). Это управляемое удостоверение или собственное управляемое удостоверение можно использовать для доступа к хранилищу ключей. Он не поддерживается, чтобы предотвратить создание удостоверения.
Проверка установки драйвера CSI хранилища секретов для поставщика Azure Key Vault
Получите учетные данные кластера AKS с помощью команды [az aks get-credentials][az-aks-get-credentials].
az aks get-credentials --name myAKSCluster --resource-group myResourceGroup
Убедитесь, что установка завершена с помощью kubectl get pods команды, в которой перечислены все модули pod с secrets-store-csi-driver метками и secrets-store-provider-azure метками в пространстве имен kube-system.
kubectl get pods -n kube-system -l 'app in (secrets-store-csi-driver,secrets-store-provider-azure)'
## Create a new Azure key vault
az keyvault create --name <keyvault-name> --resource-group myResourceGroup --location eastus2 --enable-rbac-authorization
## Update an existing Azure key vault
az keyvault update --name <keyvault-name> --resource-group myResourceGroup --location eastus2 --enable-rbac-authorization
Хранилище ключей может хранить ключи, секреты и сертификаты. В этом примере используйте az keyvault secret set команду для задания открытого ExampleSecretтекстового секрета.
az keyvault secret set --vault-name <keyvault-name> --name ExampleSecret --value MyAKSExampleSecret
Запишите следующие свойства для дальнейшего использования:
Имя объекта секрета в хранилище ключей
Тип объекта (секрет, ключ или сертификат)
Имя ресурса хранилища ключей
Идентификатор клиента Azure подписки
Следующие шаги
Из этой статьи вы узнали, как использовать поставщик Azure Key Vault для драйвера CSI Хранилища секретов в кластере AKS. Теперь необходимо предоставить удостоверение для доступа к Azure Key Vault. Чтобы узнать, как, перейдите к следующей статье.
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Отзыв о Azure Kubernetes Service
Azure Kubernetes Service — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
Присоединитесь к серии встреч для создания масштабируемых решений искусственного интеллекта на основе реальных вариантов использования с другими разработчиками и экспертами.
Планирование, доставка, управление и мониторинг возможностей виртуального рабочего стола и удаленных приложений в Microsoft Azure для любого устройства.
Узнайте о параметрах конфигурации и устранения неполадок для поставщика Azure Key Vault для драйвера CSI хранилища секретов в Служба Azure Kubernetes (AKS).
Сведения о настройке драйвера CSI хранилища секретов для включения контроллера объекта ingress NGINX с протоколом TLS для Службы Azure Kubernetes (AKS).
Узнайте, как настроить поставщик Azure Key Vault для интерфейса драйвера CSI хранилища секретов в качестве расширения в кластере Kubernetes с поддержкой Azure Arc