Niestandardowy urząd certyfikacji (CA) w usłudze Azure Kubernetes Service (AKS) (wersja zapoznawcza)
W tym artykule przedstawiono sposób tworzenia niestandardowych urzędów certyfikacji i stosowania ich do klastrów usługi AKS.
Wymagania wstępne
- Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, utwórz bezpłatne konto.
- Zainstalowany interfejs wiersza polecenia platformy Azure (wersja 2.43.0 lub nowsza).
- Ciąg certyfikatu zakodowany w formacie base64 lub plik tekstowy z certyfikatem.
Ograniczenia
- Ta funkcja nie jest obecnie obsługiwana w przypadku pul węzłów systemu Windows.
Instalowanie rozszerzenia interfejsu wiersza polecenia platformy aks-preview
Azure
Ważne
Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:
Zainstaluj rozszerzenie aks-preview przy użyciu
az extension add
polecenia .az extension add --name aks-preview
Przeprowadź aktualizację do najnowszej wersji rozszerzenia przy użyciu
az extension update
polecenia .az extension update --name aks-preview
Rejestrowanie flagi CustomCATrustPreview
funkcji
Zarejestruj flagę
CustomCATrustPreview
funkcji przy użyciuaz feature register
polecenia .az feature register --namespace "Microsoft.ContainerService" --name "CustomCATrustPreview"
Wyświetlenie stanu Zarejestrowane trwa kilka minut.
Sprawdź stan rejestracji przy użyciu
az feature show
polecenia .az feature show --namespace "Microsoft.ContainerService" --name "CustomCATrustPreview"
Gdy stan będzie odzwierciedlał wartość Zarejestrowano, odśwież rejestrację dostawcy zasobów Microsoft.ContainerService przy użyciu
az provider register
polecenia .az provider register --namespace Microsoft.ContainerService
Niestandardowa instalacja urzędu certyfikacji w pulach węzłów usługi AKS
Instalowanie urzędów certyfikacji w pulach węzłów usługi AKS
Jeśli środowisko wymaga dodania niestandardowych urzędów certyfikacji do magazynu zaufania węzła w celu poprawnej aprowizacji, należy przekazać plik tekstowy zawierający maksymalnie 10 pustych certyfikatów rozdzielonych wierszami podczas
az aks create
operacji lubaz aks update
. Przykładowy plik tekstowy:-----BEGIN CERTIFICATE----- cert1 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- cert2 -----END CERTIFICATE-----
Instalowanie urzędów certyfikacji podczas tworzenia puli węzłów
Zainstaluj urzędy certyfikacji podczas tworzenia puli węzłów przy użyciu
az aks create
polecenia i określ plik tekstowy parametru--custom-ca-trust-certificates
.az aks create \ --resource-group <resource-group-name> \ --name <cluster-name> \ --node-count 2 \ --enable-custom-ca-trust \ --custom-ca-trust-certificates pathToFileWithCAs \ --generate-ssh-keys
Rotacja urzędu certyfikacji w celu zapewnienia dostępności podczas rozruchu puli węzłów
Zaktualizuj urzędy certyfikacji przekazane do klastra podczas rozruchu przy użyciu
az aks update
polecenia i określ plik tekstowy parametru--custom-ca-trust-certificates
.az aks update \ --resource-group <resource-group-name> \ --name <cluster-name> \ --custom-ca-trust-certificates pathToFileWithCAs
Uwaga
Ta operacja wyzwala aktualizację modelu, zapewniając, że nowe węzły mają najnowsze urzędy certyfikacji wymagane do poprawnej aprowizacji. Usługa AKS tworzy dodatkowe węzły, opróżnia istniejące, usuwa je i zastępuje je węzłami, które mają zainstalowany nowy zestaw urzędów certyfikacji.
Instalowanie urzędów certyfikacji po utworzeniu puli węzłów
Jeśli środowisko można pomyślnie aprowizować bez niestandardowych urzędów certyfikacji, możesz podać urzędy certyfikacji, wdrażając wpis tajny w kube-system
przestrzeni nazw. Takie podejście umożliwia rotację certyfikatów bez konieczności rekreacji węzłów.
Utwórz manifest YAML wpisu tajnego kubernetes z ciągiem certyfikatu
data
zakodowanym w formacie base64 w polu.apiVersion: v1 kind: Secret metadata: name: custom-ca-trust-secret namespace: kube-system type: Opaque data: ca1.crt: | {base64EncodedCertStringHere} ca2.crt: | {anotherBase64EncodedCertStringHere}
Dane z tego wpisu tajnego są używane do aktualizowania urzędów certyfikacji na wszystkich węzłach. Upewnij się, że wpis tajny ma nazwę
custom-ca-trust-secret
i został utworzony wkube-system
przestrzeni nazw. Instalowanie urzędów certyfikacji przy użyciu wpisu tajnegokube-system
w przestrzeni nazw umożliwia rotację urzędu certyfikacji bez konieczności rekreacji węzłów. Aby zaktualizować lub usunąć urząd certyfikacji, możesz edytować i zastosować manifest YAML. Klaster sonduje zmiany i aktualizuje odpowiednio węzły. Zastosowanie zmian może potrwać kilka minut.Uwaga
ponowne uruchomienie kontenera w węźle może być wymagane, aby urzędy certyfikacji były prawidłowo pobierane. Jeśli wygląda na to, że urzędy certyfikacji nie zostały poprawnie dodane do magazynu zaufania węzła, możesz wyzwolić ponowne uruchomienie przy użyciu następującego polecenia w powłoce węzła:
systemctl restart containerd
Konfigurowanie nowego klastra usługi AKS do używania niestandardowego urzędu certyfikacji
Skonfiguruj nowy klaster usługi AKS do używania niestandardowego urzędu certyfikacji przy użyciu
az aks create
polecenia z parametrem--enable-custom-ca-trust
.az aks create \ --resource-group <resource-group-name> \ --name <cluster-name> \ --node-count 2 \ --enable-custom-ca-trust \ --generate-ssh-keys
Konfigurowanie nowego klastra usługi AKS do używania niestandardowego urzędu certyfikacji z zainstalowanymi urzędami certyfikacji przed uruchomieniem węzła
Skonfiguruj nowy klaster usługi AKS do używania niestandardowego urzędu certyfikacji z zainstalowanymi urzędami certyfikacji przed uruchomieniem węzła przy użyciu
az aks create
polecenia--enable-custom-ca-trust
i--custom-ca-trust-certificates
.az aks create \ --resource-group <resource-group-name> \ --name <cluster-name> \ --node-count 2 \ --enable-custom-ca-trust \ --custom-ca-trust-certificates pathToFileWithCAs \ --generate-ssh-keys
Konfigurowanie istniejącego klastra usługi AKS tak, aby niestandardowe urzędy certyfikacji zostały zainstalowane przed uruchomieniem węzła
Skonfiguruj istniejący klaster usługi AKS, aby niestandardowe urzędy certyfikacji zostały dodane do magazynu zaufania węzła przed jego uruchomieniem przy użyciu
az aks update
polecenia z parametrem--custom-ca-trust-certificates
.az aks update \ --resource-group <resource-group-name> \ --name <cluster-name> \ --custom-ca-trust-certificates pathToFileWithCAs
Konfigurowanie nowej puli węzłów do używania niestandardowego urzędu certyfikacji
Skonfiguruj nową pulę węzłów, aby używać niestandardowego urzędu certyfikacji przy użyciu
az aks nodepool add
polecenia z parametrem--enable-custom-ca-trust
.az aks nodepool add \ --cluster-name <cluster-name> \ --resource-group <resource-group-name> \ --name <node-pool-name> \ --enable-custom-ca-trust \ --os-type Linux
Jeśli nie istnieją żadne inne pule węzłów z włączoną funkcją, klaster musi uzgodnić jego ustawienia, aby zmiany zaczęły obowiązywać. Ta operacja odbywa się automatycznie w ramach pętli uzgadniania usługi AKS. Przed operacją zestaw demona i zasobniki nie są wyświetlane w klastrze. Możesz wyzwolić natychmiastową operację uzgadniania przy użyciu
az aks update
polecenia . Zestaw demona i zasobniki są wyświetlane po zakończeniu aktualizacji.
Konfigurowanie istniejącej puli węzłów do używania niestandardowego urzędu certyfikacji
Skonfiguruj istniejącą pulę węzłów, aby używać niestandardowego urzędu certyfikacji przy użyciu
az aks nodepool update
polecenia z parametrem--enable-custom-ca-trust
.az aks nodepool update \ --resource-group <resource-group-name> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --enable-custom-ca-trust
Jeśli nie istnieją żadne inne pule węzłów z włączoną funkcją, klaster musi uzgodnić jego ustawienia, aby zmiany zaczęły obowiązywać. Ta operacja odbywa się automatycznie w ramach pętli uzgadniania usługi AKS. Przed operacją zestaw demona i zasobniki nie są wyświetlane w klastrze. Możesz wyzwolić natychmiastową operację uzgadniania przy użyciu
az aks update
polecenia . Zestaw demona i zasobniki są wyświetlane po zakończeniu aktualizacji.
Wyłączanie niestandardowego urzędu certyfikacji w puli węzłów
Wyłącz funkcję niestandardowego urzędu certyfikacji w istniejącej puli węzłów przy użyciu
az aks nodepool update
polecenia z parametrem--disable-custom-ca-trust
.az aks nodepool update \ --resource-group <resource-group-name> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --disable-custom-ca-trust
Rozwiązywanie problemów
Funkcja jest włączona, a wpis tajny z urzędami certyfikacji jest dodawany, ale operacje kończą się niepowodzeniem z powodu błędu certyfikatu X.509 podpisanego przez nieznany urząd
Nieprawidłowo sformatowane certyfikaty przekazane w kluczu tajnym
Usługa AKS wymaga, aby certyfikaty przekazywane w wpisie tajnym utworzonym przez użytkownika były prawidłowo sformatowane i zakodowane w formacie base64. Upewnij się, że przekazane urzędy certyfikacji są prawidłowo zakodowane w formacie base64 i że pliki z urzędami certyfikacji nie mają podziałów wierszy CRLF.
Certyfikaty przekazane do --custom-ca-trust-certificates
nie powinny być zakodowane w formacie base64.
kontenerd nie odebrał nowych certyfikatów
W powłoce węzła uruchom polecenie systemctl restart containerd
. Po ponownym uruchomieniu kontenera nowe certyfikaty są prawidłowo pobierane przez środowisko uruchomieniowe kontenera.
Następne kroki
Aby uzyskać więcej informacji na temat najlepszych rozwiązań w zakresie zabezpieczeń usługi AKS, zobacz Najlepsze rozwiązania dotyczące zabezpieczeń i uaktualnień klastra w usłudze Azure Kubernetes Service (AKS).
Azure Kubernetes Service