Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Узнайте, как подключиться к Azure Key Vault с помощью драйвера CSI в кластере Служба Azure Kubernetes (AKS) с помощью соединителя службы. В этом руководстве выполняются следующие задачи:
- Создайте кластер AKS и Azure Key Vault.
- Создайте подключение между кластером AKS и Azure Key Vault с помощью соединителя службы.
-
SecretProviderClassСоздайте CRD иpodпоставщик CSI для проверки подключения. - Очистите ресурсы.
Предупреждение
Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Поток проверки подлинности, описанный в этой процедуре, требует высокого уровня доверия к приложению и несет риски, которые не присутствуют в других потоках. Этот поток следует использовать только в том случае, если другие более безопасные потоки, такие как управляемые удостоверения, не являются жизнеспособными.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Установите Azure CLI и войдите в Azure CLI с помощью команды az login .
- Установите Dockerи kubectl, чтобы управлять образом контейнера и ресурсами Kubernetes.
- Базовое представление о контейнере и AKS. Начало работы с подготовкой приложения для AKS.
Создание ресурсов Azure
Создайте группу ресурсов для этого руководства.
az group create \ --name MyResourceGroup \ --location eastusСоздайте кластер AKS со следующей командой или перейдите к руководству. В этом кластере мы создадим подключение к службе, определение pod и место развертывания примера приложения.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1Подключитесь к кластеру с помощью следующей команды.
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSClusterСоздайте Azure Key Vault с помощью следующей команды или перейдите к руководству. Эта целевая служба подключена к кластеру AKS и является службой, из которую драйвер CSI синхронизирует секреты.
az keyvault create \ --resource-group MyResourceGroup \ --name MyKeyVault \ --location EastUSСоздайте секрет в Key Vault с помощью следующей команды.
az keyvault secret set \ --vault-name MyKeyVault \ --name ExampleSecret \ --value MyAKSExampleSecret
Создание подключения к службе в AKS с помощью соединителя службы
Создайте подключение службы между кластером AKS и Azure Key Vault с помощью портал Azure или Azure CLI.
Откройте службу Kubernetes в портал Azure и выберите соединитель службы в меню слева.
Выберите "Создать " и заполните следующие параметры. Оставьте другие параметры значениями по умолчанию.
Параметр Выбранный вариант Description Пространство имен Kubernetes default Пространство имен, в котором требуется подключение в кластере. тип услуги; Key Vault (включение CSI) Выберите Key Vault в качестве целевого типа службы и проверьте параметр включения CSI . Имя подключения keyvault_conn Используйте имя подключения, предоставленное соединителем службы, или выберите собственное имя подключения. Подписка <MySubscription>Подписка для целевой службы Azure Key Vault. Хранилище ключей <MyKeyVault>Целевое хранилище ключей, к которому требуется подключиться. Тип клиента Python Язык кода или платформа, используемая для подключения к целевой службе. После создания подключения на странице соединителя служб отображаются сведения о новом подключении.
Проверка подключения
Клонируйте репозиторий примера.
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.gitПерейдите в пример папки репозитория для Azure Key Vault:
cd serviceconnector-aks-samples/azure-keyvault-csi-providerЗамените заполнители в
secret_provider_class.yamlфайле в папкеazure-keyvault-csi-provider.- Замените
<AZURE_KEYVAULT_NAME>именем созданного и подключенного хранилища ключей. Значение можно получить на портале Azure Service Connector. - Замените
<AZURE_KEYVAULT_TENANTID>идентификатором клиента хранилища ключей. Вы можете получить значение из Azure портала для Service Connector. - Замените
<AZURE_KEYVAULT_CLIENTID>идентификатором клиента удостоверения надстройкиazureKeyvaultSecretsProvider. Значение можно получить на портале Azure Service Connector. - Замените
<KEYVAULT_SECRET_NAME>на созданное имя секрета хранилища ключей, напримерExampleSecret
- Замените
Разверните ресурсы Kubernetes в кластере
kubectl applyс помощью команды. Установитеkubectlлокально с помощью команды az aks install-cli , если она не установлена.Разверните пользовательское
SecretProviderClassопределение ресурсов (CRD).kubectl apply -f secret_provider_class.yamlpodРазверните . Команда создает pod с именемsc-demo-keyvault-csiв пространстве имен по умолчанию кластера AKS.kubectl apply -f pod.yaml
Проверьте, успешно ли развертывание выполнено, просматривая модуль pod с
kubectlпомощью .kubectl get pod/sc-demo-keyvault-csiПосле запуска модуля будет доступно подключенное содержимое по пути к тому, указанному в YAML развертывания. Используйте следующие команды, чтобы проверить секреты и распечатать секрет теста.
Отображение секретов, содержащихся в хранилище секретов, с помощью следующей команды.
kubectl exec sc-demo-keyvault-csi -- ls /mnt/secrets-store/Отображение секрета в хранилище с помощью следующей команды. В этом примере команды показан секрет
ExampleSecretтеста.kubectl exec sc-demo-keyvault-csi -- cat /mnt/secrets-store/ExampleSecret
Очистка ресурсов
Если вам не нужно повторно использовать ресурсы, созданные в этом руководстве, удалите все ресурсы, созданные путем удаления группы ресурсов.
az group delete \
--resource-group MyResourceGroup
Следующие шаги
Ознакомьтесь со следующими статьями, чтобы узнать больше о концепциях соединителя служб и о том, как это помогает AKS подключаться к службам.