在本教程中,我们将配置Azure KeyVault,以便有一个安全的方式来访问秘密,然后配置External-Secrets,以便从我们的秘密管理器中获取信息,这是我们关于External Secrets项目系列的最后一个教程。你可以在这里找到这个系列的其他文章。
在我们开始之前,如果你是这个系列的新手,可能需要快速回顾一下。由Container Solutions和GoDaddy发起的External Secrets是一个开源的Kubernetes运营商,整合了外部秘密管理系统,包括AWS Secrets Manager、HashiCorp Vault、Google Secrets Manager、Azure Key Vault和其他。该项目在CS实验室的指导下进行管理,旨在实现将秘密从外部API同步到Kubernetes。你可以在这里找到全面的项目文件。
开始学习
为了正确地学习本教程,请确保你已经安装了以下工具。
- minikube- 或任何其他kubernetes集群
- 部署了external-secrets
- 安装了azure-cli
配置
External Secrets支持为Azure KeyVault提供商配置几种认证方法。在本指南中,我们使用的是通过客户端ID和秘密进行认证,因为这不需要任何其他Azure资源。我们将通过以下步骤。
1.设置Azure KeyVault
2.配置外部机密
设置Azure KeyVault
下面的步骤都是要用Azure CLI的。我们首先要做的是设置我们的KeyVault实例。
TENANT_ID=$(az account show --query tenantId | tr -d \") RESOURCE_GROUP="MyKeyVaultResourceGroup" LOCATION="westus" az group create --location $LOCATION --name $RESOURCE_GROUP VAULT_NAME="eso-vault-example" az keyvault create --name $VAULT_NAME --resource-group $RESOURCE_GROUP
之后,我们可以在KeyVault内创建一个秘密。</