Kurz: Použití poskytovatele služby Azure Key Vault pro ovladač CSI úložiště tajných kódů v clusteru Azure Kubernetes Service (AKS)
Zjistěte, jak se připojit ke službě Azure Key Vault pomocí ovladače CSI v clusteru Azure Kubernetes Service (AKS) pomocí konektoru služby. V tomto kurzu provedete následující úlohy:
- Vytvořte cluster AKS a Azure Key Vault.
- Vytvořte připojení mezi clusterem AKS a službou Azure Key Vault pomocí konektoru služby.
- Vytvořte
SecretProviderClass
CRD apod
využití zprostředkovatele CSI k otestování připojení. - Vyčistěte prostředky.
Upozorňující
Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Ověřovací tok popsaný v tomto postupu vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která nejsou přítomna v jiných tocích. Tento tok byste měli použít jenom v případě, že jiné bezpečnější toky, jako jsou spravované identity, nejsou přijatelné.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Nainstalujte Azure CLI a přihlaste se k Azure CLI pomocí příkazu az login .
- Nainstalujte Dockera kubectl a spravujte image kontejneru a prostředky Kubernetes.
- Základní znalost kontejneru a AKS Začněte přípravou aplikace pro AKS.
Vytvoření zdrojů Azure
Vytvořte skupinu prostředků pro tento kurz.
az group create \ --name MyResourceGroup \ --location eastus
Vytvořte cluster AKS pomocí následujícího příkazu nebo použijte odkaz na tento kurz. Jedná se o cluster, do kterého vytvoříme připojení služby, definici podu a nasadíme ukázkovou aplikaci.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1
Připojte se ke clusteru pomocí následujícího příkazu.
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSCluster
Vytvořte službu Azure Key Vault pomocí následujícího příkazu nebo použijte odkaz na tento kurz. Toto je cílová služba, která je připojená ke clusteru AKS a ovladač CSI synchronizuje tajné kódy.
az keyvault create \ --resource-group MyResourceGroup \ --name MyKeyVault \ --location EastUS
Ve službě Key Vault vytvořte tajný kód pomocí následujícího příkazu.
az keyvault secret set \ --vault-name MyKeyVault \ --name ExampleSecret \ --value MyAKSExampleSecret
Vytvoření připojení služby v AKS pomocí konektoru Service Connector
Vytvořte připojení služby mezi clusterem AKS a službou Azure Key Vault pomocí webu Azure Portal nebo Azure CLI.
Otevřete službu Kubernetes na webu Azure Portal a v nabídce vlevo vyberte Konektor služby.
Vyberte Vytvořit a vyplňte nastavení, jak je znázorněno níže. U ostatních nastavení ponechte výchozí hodnoty.
Nastavení Volba Popis Obor názvů Kubernetes default Obor názvů, ve kterém potřebujete připojení v clusteru. Typ služby Key Vault (povolení csI) Jako typ cílové služby zvolte Key Vault a zaškrtněte možnost povolení csI. Název připojení keyvault_conn Použijte název připojení poskytovaný konektorem service connector nebo zvolte vlastní název připojení. Předplatné <MySubscription>
Předplatné cílové služby Azure Key Vault. Trezor klíčů <MyKeyVault>
Cílový trezor klíčů, ke kterému se chcete připojit. Typ klienta Python Jazyk kódu nebo architektura, které používáte pro připojení k cílové službě. Po vytvoření připojení se na stránce konektoru služby zobrazí informace o novém připojení.
Test připojení
Naklonujte ukázkové úložiště:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
Přejděte do ukázkové složky úložiště pro Azure Key Vault:
cd serviceconnector-aks-samples/azure-keyvault-csi-provider
Nahraďte zástupné symboly v
secret_provider_class.yaml
souboru veazure-keyvault-csi-provider
složce.- Nahraďte
<AZURE_KEYVAULT_NAME>
názvem trezoru klíčů, který jsme vytvořili a připojili. Hodnotu můžete získat z webu Azure Portal konektoru služeb. - Nahraďte
<AZURE_KEYVAULT_TENANTID>
ID tenanta trezoru klíčů. Hodnotu můžete získat z webu Azure Portal konektoru služeb. - Nahraďte
<AZURE_KEYVAULT_CLIENTID>
ID klienta identity doplňkuazureKeyvaultSecretsProvider
. Hodnotu můžete získat z webu Azure Portal konektoru služeb. - Nahraďte
<KEYVAULT_SECRET_NAME>
názvem tajného kódu trezoru klíčů, který jsme vytvořili, napříkladExampleSecret
- Nahraďte
Pomocí příkazu nasaďte prostředky Kubernetes do clusteru
kubectl apply
. Pokud není nainstalovaný, nainstalujtekubectl
místně příkazem az aks install-cli.-
SecretProviderClass
Nasaďte CRD.
kubectl apply -f secret_provider_class.yaml
- Nasaďte soubor
pod
. Příkaz vytvoří pod pojmenovanýsc-demo-keyvault-csi
ve výchozím oboru názvů vašeho clusteru AKS.
kubectl apply -f pod.yaml
-
Zkontrolujte, jestli nasazení proběhlo úspěšně, a to zobrazením podu s
kubectl
.kubectl get pod/sc-demo-keyvault-csi
Po spuštění podu je k dispozici připojený obsah v cestě svazku zadané v YAML nasazení. Pomocí následujících příkazů ověřte tajné kódy a vytiskněte testovací tajný klíč.
- Pomocí následujícího příkazu zobrazte tajné kódy uložené v úložišti tajných kódů.
kubectl exec sc-demo-keyvault-csi -- ls /mnt/secrets-store/
- Pomocí následujícího příkazu zobrazte tajný kód v úložišti. Tento ukázkový příkaz ukazuje tajný kód
ExampleSecret
testu .
kubectl exec sc-demo-keyvault-csi -- cat /mnt/secrets-store/ExampleSecret
Vyčištění prostředků
Pokud nepotřebujete opakovaně používat prostředky, které jste vytvořili v tomto kurzu, odstraňte všechny prostředky, které jste vytvořili odstraněním skupiny prostředků.
az group delete \
--resource-group MyResourceGroup
Další kroky
Další informace o konceptech konektoru služeb a o tom, jak AKS pomáhá připojit se ke službám, najdete v následujících článcích.