Spójne wdrażanie aplikacji na dużą skalę przy użyciu konfiguracji platformy Flux w wersji 2 i usługi Azure Policy
Za pomocą usługi Azure Policy można stosować konfiguracje platformy Flux w wersji 2 (Microsoft.KubernetesConfiguration/fluxConfigurations
typu zasobu) na dużą skalę w klastrach Kubernetes z obsługą usługi Azure Arc (Microsoft.Kubernetes/connectedClusters
) lub AKS (Microsoft.ContainerService/managedClusters
). Aby użyć usługi Azure Policy, należy wybrać wbudowaną definicję zasad i utworzyć przypisanie zasad.
Przed przypisanie zasad tworzących konfiguracje platformy Flux należy upewnić się, że rozszerzenie Flux jest wdrażane w klastrach. Można to zrobić, przypisując najpierw zasady, które wdrażają rozszerzenie we wszystkich klastrach w wybranym zakresie (wszystkie grupy zasobów w subskrypcji lub grupie zarządzania albo do określonych grup zasobów). Następnie podczas tworzenia przypisania zasad w celu wdrożenia konfiguracji należy ustawić parametry konfiguracji flux, które zostaną zastosowane do klastrów w tym zakresie.
Aby umożliwić rozdzielenie problemów, można utworzyć wiele przypisań zasad, z których każda ma inną konfigurację platformy Flux w wersji 2 wskazującą inne źródło. Na przykład jedno repozytorium Git może być używane przez administratorów klastra, podczas gdy inne repozytoria mogą być używane przez zespoły aplikacji.
Wbudowane definicje zasad
Następujące wbudowane definicje zasad zapewniają obsługę tych scenariuszy:
opis | Zasady |
---|---|
Instalacja rozszerzenia Flux (wymagana dla wszystkich scenariuszy) | Configure installation of Flux extension on Kubernetes cluster |
Konfiguracja platformy Flux przy użyciu publicznego repozytorium Git (zazwyczaj scenariusz testowy) | Configure Kubernetes clusters with Flux v2 configuration using public Git repository |
Konfiguracja platformy Flux przy użyciu prywatnego repozytorium Git z uwierzytelnianiem SSH | Configure Kubernetes clusters with Flux v2 configuration using Git repository and SSH secrets |
Konfiguracja platformy Flux przy użyciu prywatnego repozytorium Git z uwierzytelnianiem HTTPS | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS secrets |
Konfiguracja platformy Flux przy użyciu prywatnego repozytorium Git z uwierzytelnianiem certyfikatu urzędu certyfikacji HTTPS | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS CA Certificate |
Konfiguracja platformy Flux przy użyciu prywatnego repozytorium Git z lokalnym wpisem tajnym K8s | Configure Kubernetes clusters with Flux v2 configuration using Git repository and local secrets |
Konfiguracja strumienia przy użyciu prywatnego źródła zasobnika i wpisów tajnych usługi KeyVault | Configure Kubernetes clusters with Flux v2 configuration using Bucket source and secrets in KeyVault |
Konfiguracja strumienia przy użyciu prywatnego źródła zasobnika i lokalnego wpisu tajnego K8s | Configure Kubernetes clusters with specified Flux v2 Bucket source using local secrets |
Aby znaleźć wszystkie definicje zasad Flux v2, wyszukaj strumień. Aby uzyskać więcej informacji, zobacz Wbudowane definicje zasad platformy Azure dla platformy Kubernetes z obsługą usługi Azure Arc.
Wymagania wstępne
- Co najmniej jeden klaster Kubernetes z obsługą usługi Arc i/lub klastry AKS.
Microsoft.Authorization/policyAssignments/write
uprawnienia do zakresu (subskrypcji lub grupy zasobów), w którym utworzysz przypisania zasad.
Tworzenie przypisania zasad w celu zainstalowania rozszerzenia Flux
Aby zasady stosowania konfiguracji platformy Flux w wersji 2 do klastra, należy najpierw zainstalować rozszerzenie Flux w klastrze. Aby upewnić się, że rozszerzenie jest zainstalowane w każdym klastrze, przypisz definicję zasad klastra Configure installation of Flux on Kubernetes cluster policy (Konfigurowanie instalacji rozszerzenia Flux na platformie Kubernetes).
- W witrynie Azure Portal przejdź do obszaru Zasady.
- W sekcji Tworzenie paska bocznego wybierz pozycję Definicje.
- W kategorii "Kubernetes" wybierz definicję wbudowanych zasad Konfiguruj instalację rozszerzenia Flux w klastrze Kubernetes.
- Zaznacz Przypisz.
- Ustaw pozycję Zakres na grupę zarządzania, subskrypcję lub grupę zasobów, do której zostanie zastosowane przypisanie zasad.
- Jeśli chcesz wykluczyć wszystkie zasoby z zakresu przypisania zasad, ustaw pozycję Wykluczenia.
- Nadaj przypisaniu zasad łatwe do zidentyfikowania nazwę przypisania i opis.
- Upewnij się, że dla wymuszania zasad ustawiono wartość Włączone.
- Wybierz pozycję Przeglądanie i tworzenie, a następnie wybierz pozycję Utwórz.
Tworzenie przypisania zasad w celu zastosowania konfiguracji platformy Flux
Następnie wróć do listy Definicje (w sekcji Tworzenie zasad), aby zastosować definicję zasad konfiguracji do tego samego zakresu.
W kategorii "Kubernetes" wybierz pozycję Konfiguruj klastry Kubernetes z konfiguracją platformy Flux w wersji 2 przy użyciu wbudowanej definicji zasad publicznego repozytorium Git lub jedną z innych definicji zasad, aby zastosować konfiguracje platformy Flux.
Zaznacz Przypisz.
Ustaw zakres na ten sam zakres, który został wybrany podczas przypisywania pierwszych zasad, w tym wszystkich wykluczeń.
Nadaj przypisaniu zasad łatwe do zidentyfikowania nazwę przypisania i opis.
Upewnij się, że dla wymuszania zasad ustawiono wartość Włączone.
Wybierz przycisk Dalej, a następnie ponownie wybierz przycisk Dalej , aby otworzyć kartę Parametry .
Ustaw wartości parametrów, które mają być używane.
- Aby uzyskać więcej informacji na temat parametrów, zobacz samouczek dotyczący wdrażania konfiguracji platformy Flux w wersji 2.
- Podczas tworzenia konfiguracji platformy Flux należy podać wartość dla jednego (i tylko jednego) następujących parametrów:
repositoryRefBranch
, ,repositoryRefTag
repositoryRefSemver
, .repositoryRefCommit
Wybierz przycisk Dalej , aby otworzyć zadanie korygowania .
Włącz tworzenie zadania korygowania.
Sprawdź, czy zaznaczono pole wyboru Utwórz tożsamość zarządzaną i czy tożsamość ma uprawnienia Współautor . Aby uzyskać więcej informacji, zobacz Szybki start: tworzenie przypisania zasad w celu identyfikowania niezgodnych zasobów i korygowania niezgodnych zasobów za pomocą usługi Azure Policy.
Wybierz pozycję Przeglądanie i tworzenie, a następnie wybierz pozycję Utwórz.
Konfiguracja jest następnie stosowana do nowych klastrów Kubernetes lub AKS z obsługą usługi Azure Arc utworzonych w zakresie przypisywania zasad.
W przypadku istniejących klastrów może być konieczne ręczne uruchomienie zadania korygowania. Wykonanie tego zadania zwykle trwa od 10 do 20 minut, aby przypisanie zasad zaczęły obowiązywać.
Weryfikowanie przypisania zasad
W witrynie Azure Portal przejdź do jednego z klastrów Kubernetes lub AKS z obsługą usługi Azure Arc.
W sekcji Ustawienia paska bocznego wybierz pozycję GitOps.
Na liście konfiguracji powinna zostać wyświetlona konfiguracja utworzona przez przypisanie zasad.
W sekcji Zasoby platformy Kubernetes na pasku bocznym wybierz pozycję Przestrzenie nazw i obciążenia.
Powinna zostać wyświetlona przestrzeń nazw i artefakty utworzone przez konfigurację platformy Flux. Powinny być również widoczne obiekty opisane przez manifesty w repozytorium Git wdrożonym w klastrze.
Dostosowywanie zasad
Wbudowane zasady obejmują główne scenariusze używania metodyki GitOps z rozwiązaniem Flux v2 w klastrach Kubernetes. Jednak ze względu na ograniczenia liczby parametrów dozwolonych w przypisaniach usługi Azure Policy (maksymalnie 20) nie wszystkie parametry są obecne we wbudowanych zasadach. Ponadto, aby zmieścić się w limicie 20 parametrów, można utworzyć tylko jedną kustomizację za pomocą wbudowanych zasad.
Jeśli masz scenariusz, który różni się od wbudowanych zasad, możesz przezwyciężyć ograniczenia, tworząc zasady niestandardowe przy użyciu wbudowanych zasad jako szablonów. Możesz utworzyć niestandardowe zasady, które zawierają tylko potrzebne parametry, i trwale zakodować resztę, w związku z czym obejście limitu 20 parametrów.
Następne kroki
- Konfigurowanie usługi Azure Monitor dla kontenerów za pomocą klastrów Kubernetes z włączoną usługą Azure Arc.
- Dowiedz się więcej o wdrażaniu aplikacji przy użyciu metodyki GitOps z rozwiązaniem Flux w wersji 2.