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).

  1. W witrynie Azure Portal przejdź do obszaru Zasady.
  2. W sekcji Tworzenie paska bocznego wybierz pozycję Definicje.
  3. W kategorii "Kubernetes" wybierz definicję wbudowanych zasad Konfiguruj instalację rozszerzenia Flux w klastrze Kubernetes.
  4. Zaznacz Przypisz.
  5. 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.
  6. Nadaj przypisaniu zasad łatwe do zidentyfikowania nazwę przypisania i opis.
  7. Upewnij się, że dla wymuszania zasad ustawiono wartość Włączone.
  8. 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.

  1. 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.

  2. Zaznacz Przypisz.

  3. Ustaw zakres na ten sam zakres, który został wybrany podczas przypisywania pierwszych zasad, w tym wszystkich wykluczeń.

  4. Nadaj przypisaniu zasad łatwe do zidentyfikowania nazwę przypisania i opis.

  5. Upewnij się, że dla wymuszania zasad ustawiono wartość Włączone.

  6. Wybierz przycisk Dalej, a następnie ponownie wybierz przycisk Dalej , aby otworzyć kartę Parametry .

  7. 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, , repositoryRefTagrepositoryRefSemver, . repositoryRefCommit
  8. Wybierz przycisk Dalej , aby otworzyć zadanie korygowania .

  9. Włącz tworzenie zadania korygowania.

  10. 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.

  11. 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

  1. W witrynie Azure Portal przejdź do jednego z klastrów Kubernetes lub AKS z obsługą usługi Azure Arc.

  2. W sekcji Ustawienia paska bocznego wybierz pozycję GitOps.

    Na liście konfiguracji powinna zostać wyświetlona konfiguracja utworzona przez przypisanie zasad.

  3. 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