Udostępnij przez


Zaktualizuj tryb magazynu kluczy dla klastra usługi Azure Kubernetes Service (AKS) z użyciem usługi zarządzania kluczami (KMS) szyfrowania etcd (starsza wersja)

W tym artykule pokazano, jak zaktualizować tryb skarbca kluczy z publicznego na prywatny lub z prywatnego na publiczny dla klastra usługi Azure Kubernetes Service (AKS) używając szyfrowania etcd za pomocą usługi zarządzania kluczami (KMS).

Wymagania wstępne

Aktualizuj tryb skarbca kluczy

Uwaga / Notatka

Aby zmienić inny magazyn kluczy w innym trybie (publicznym lub prywatnym), można uruchomić az aks update bezpośrednio. Aby zmienić tryb dołączonego magazynu kluczy, należy najpierw wyłączyć usługę KMS, a następnie włączyć ją ponownie przy użyciu nowych identyfikatorów magazynu kluczy.

  1. Wyłącz usługę KMS w istniejącym klastrze i zwolnij magazyn kluczy przy użyciu az aks update polecenia z parametrem --disable-azure-keyvault-kms .

    az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --disable-azure-keyvault-kms
    

    Ostrzeżenie

    Po wyłączeniu usługi KMS klucz magazynu kluczy szyfrowania jest nadal potrzebny. Nie można go usunąć ani wygasnąć.

  2. Zaktualizuj wszystkie wpisy tajne przy użyciu kubectl get secrets polecenia , aby upewnić się, że utworzone wcześniej wpisy tajne nie są już szyfrowane. W przypadku większych klastrów warto rozdzielić wpisy tajne według przestrzeni nazw lub utworzyć skrypt aktualizacji. Jeśli poprzednie polecenie aktualizacji usługi KMS zakończy się niepowodzeniem, nadal uruchom następujące polecenie, aby uniknąć nieoczekiwanego stanu wtyczki usługi KMS.

    kubectl get secrets --all-namespaces -o json | kubectl replace -f -
    
  3. Zaktualizuj magazyn kluczy z publicznego na prywatny przy użyciu az keyvault update polecenia z parametrem ustawionym --public-network-access na Disabled.

    az keyvault update --name $KEY_VAULT --resource-group $RESOURCE_GROUP --public-network-access Disabled
    
  4. Włącz usługę KMS ze zaktualizowanym prywatnym magazynem az aks update kluczy przy użyciu polecenia z parametrem ustawionym --azure-keyvault-kms-key-vault-network-access na Private.

    az aks update \
         --name $CLUSTER_NAME \
         --resource-group $RESOURCE_GROUP  \
         --enable-azure-keyvault-kms \
         --azure-keyvault-kms-key-id $KEY_ID \
         --azure-keyvault-kms-key-vault-network-access "Private" \
         --azure-keyvault-kms-key-vault-resource-id $KEY_VAULT_RESOURCE_ID