Udostępnij za pośrednictwem


Samouczek: używanie dostawcy usługi Azure Key Vault dla sterownika CSI magazynu wpisów tajnych w klastrze usługi Azure Kubernetes Service (AKS)

Dowiedz się, jak nawiązać połączenie z usługą Azure Key Vault przy użyciu sterownika CSI w klastrze usługi Azure Kubernetes Service (AKS), korzystając z usługi Service Połączenie or. W tym samouczku wykonasz następujące zadania:

  • Utwórz klaster usługi AKS i usługę Azure Key Vault.
  • Utwórz połączenie między klastrem usługi AKS i usługą Azure Key Vault przy użyciu Połączenie or usługi.
  • Utwórz usługę SecretProviderClass CRD i korzystającą z pod dostawcy CSI w celu przetestowania połączenia.
  • Wyczyść zasoby.

Ważne

Usługa Połączenie w usłudze AKS jest obecnie dostępna w wersji zapoznawczej. Zobacz Dodatkowe warunki użytkowania wersji zapoznawczych platformy Microsoft Azure, aby zapoznać się z postanowieniami prawnymi dotyczącymi funkcji platformy Azure, które są w wersji beta lub wersji zapoznawczej albo w inny sposób nie zostały jeszcze wydane jako ogólnie dostępne.

Wymagania wstępne

Tworzenie zasobów platformy Azure

  1. Utwórz grupę zasobów na potrzeby tego samouczka.

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. Utwórz klaster usługi AKS za pomocą następującego polecenia lub zapoznaj się z samouczkiem. Jest to klaster, w którym tworzymy połączenie z usługą, definicję zasobnika i wdrażamy przykładową aplikację.

    az aks create \
        --resource-group MyResourceGroup \
        --name MyAKSCluster \
        --enable-managed-identity \
        --node-count 1
    
  3. Połączenie do klastra za pomocą następującego polecenia.

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. Utwórz usługę Azure Key Vault przy użyciu następującego polecenia lub zapoznaj się z samouczkiem. Jest to usługa docelowa połączona z klastrem AKS i sterownik CSI synchronizuje wpisy tajne.

    az keyvault create \
        --resource-group MyResourceGroup \  
        --name MyKeyVault \
        --location EastUS
    
  5. Utwórz wpis tajny w usłudze Key Vault za pomocą następującego polecenia.

    az keyvault secret set \
        --vault-name MyKeyVault \
        --name ExampleSecret \
        --value MyAKSExampleSecret
    

Tworzenie połączenia usługi w usłudze AKS przy użyciu usługi Service Połączenie or (wersja zapoznawcza)

Utwórz połączenie usługi między klastrem usługi AKS i usługą Azure Key Vault przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

  1. Otwórz usługę Kubernetes w witrynie Azure Portal i wybierz pozycję Service Połączenie or z menu po lewej stronie.

  2. Wybierz pozycję Utwórz i wypełnij ustawienia, jak pokazano poniżej. Pozostaw inne ustawienia wartościami domyślnymi.

    Ustawienie Wybór opis
    Przestrzeń nazw platformy Kubernetes default Przestrzeń nazw, w której jest potrzebne połączenie w klastrze.
    Typ usługi Key Vault (włącz CSI) Wybierz usługę Key Vault jako docelowy typ usługi i zaznacz opcję włączenia interfejsu CSI.
    Nazwa połączenia keyvault_conn Użyj nazwy połączenia dostarczonej przez usługę Połączenie or lub wybierz własną nazwę połączenia.
    Subskrypcja <MySubscription> Subskrypcja usługi docelowej usługi Azure Key Vault.
    Magazyn kluczy <MyKeyVault> Docelowy magazyn kluczy, z którym chcesz nawiązać połączenie.
    Typ klienta Python Język kodu lub struktura używana do nawiązywania połączenia z usługą docelową.
  3. Po utworzeniu połączenia na stronie Usługa Połączenie or zostaną wyświetlone informacje o nowym połączeniu.

    Zrzut ekranu witryny Azure Portal przedstawiający zasoby kubernetes utworzone przez usługę Service Połączenie or.

Testowanie połączenia

  1. Sklonuj przykładowe repozytorium:

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. Przejdź do folderu przykładowego repozytorium dla usługi Azure Key Vault:

    cd serviceconnector-aks-samples/azure-keyvault-csi-provider
    
  3. Zastąp secret_provider_class.yaml symbole zastępcze w pliku w folderze azure-keyvault-csi-provider .

    • Zastąp <AZURE_KEYVAULT_NAME> ciąg nazwą utworzonego i połączonego magazynu kluczy. Wartość można pobrać z witryny Azure Portal usługi Połączenie or.
    • Zastąp element <AZURE_KEYVAULT_TENANTID> identyfikatorem dzierżawy magazynu kluczy. Wartość można pobrać z witryny Azure Portal usługi Połączenie or.
    • Zastąp element <AZURE_KEYVAULT_CLIENTID> identyfikatorem azureKeyvaultSecretsProvider klienta tożsamości dodatku. Wartość można pobrać z witryny Azure Portal usługi Połączenie or.
    • Zastąp <KEYVAULT_SECRET_NAME> ciąg nazwą wpisu tajnego magazynu kluczy, którą utworzyliśmy, na przykład ExampleSecret
  4. Wdróż zasoby kubernetes w klastrze za kubectl apply pomocą polecenia . Zainstaluj kubectl lokalnie przy użyciu polecenia az aks install-cli , jeśli nie jest zainstalowany.

    1. Wdróż crD SecretProviderClass .
    kubectl apply -f secret_provider_class.yaml
    
    1. Wdróż element pod. Polecenie tworzy zasobnik o nazwie sc-demo-keyvault-csi w domyślnej przestrzeni nazw klastra usługi AKS.
    kubectl apply -f pod.yaml
    
  5. Sprawdź, czy wdrożenie zakończyło się pomyślnie, wyświetlając zasobnik za pomocą polecenia kubectl.

    kubectl get pod/sc-demo-keyvault-csi
    
  6. Po uruchomieniu zasobnika jest dostępna instalowana zawartość na ścieżce woluminu określonej w wdrożeniu YAML. Użyj następujących poleceń, aby zweryfikować wpisy tajne i wydrukować wpis tajny testowy.

    • Pokaż wpisy tajne przechowywane w magazynie wpisów tajnych przy użyciu następującego polecenia.
    kubectl exec sc-demo-keyvault-csi -- ls /mnt/secrets-store/
    
    • Wyświetl wpis tajny w magazynie przy użyciu następującego polecenia. W tym przykładowym poleceniu jest wyświetlany wpis tajny ExampleSecrettestu .
    kubectl exec sc-demo-keyvault-csi -- cat /mnt/secrets-store/ExampleSecret
    

Czyszczenie zasobów

Jeśli nie musisz ponownie używać zasobów utworzonych w tym samouczku, usuń wszystkie utworzone zasoby, usuwając grupę zasobów.

az group delete \
    --resource-group MyResourceGroup

Następne kroki

Przeczytaj następujące artykuły, aby dowiedzieć się więcej na temat pojęć dotyczących usługi service Połączenie or i sposobu, w jaki pomaga ona usłudze AKS łączyć się z usługami.