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 Policymoż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 zasady, które wdrażają rozszerzenie we wszystkich klastrach w wybranym zakresie (wszystkie grupy zasobów w subskrypcji lub grupie zarządzania lub 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 mają być stosowane 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 celu utworzenia przypisań 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.
- Znajdź wbudowaną definicję zasad Konfigurowanie instalacji rozszerzenia Flux w klastrze Kubernetes i wybierz ją.
- Wybierz pozycję Przypisz zasady.
- 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.
Znajdź i wybierz konfigurację zasad Configure Kubernetes clusters with Flux v2 configuration using public Git repository built-in policy definition (Konfigurowanie klastrów Kubernetes z konfiguracją flux w wersji 2 przy użyciu wbudowanej definicji zasad publicznego repozytorium Git) lub jednej z innych definicji zasad, aby zastosować konfiguracje platformy Flux.
Wybierz pozycję Przypisz zasady.
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 , aby otworzyć kartę Parametry .
Ustaw wartości parametrów, które mają być używane, używając nazw parametrów z definicji zasad.
- Aby uzyskać więcej informacji na temat parametrów, zobacz Parametry obsługiwane przez usługę GitOps (Flux v2).
- Podczas tworzenia konfiguracji platformy Flux za pomocą zasad należy podać wartość dla jednego (i tylko jednego) następujących parametrów:
repositoryRefBranch
, ,repositoryRefSemver
repositoryRefTag
,repositoryRefCommit
.
Wybierz przycisk Dalej , aby otworzyć zadanie korygowania .
Włącz tworzenie zadania korygowania.
Sprawdź, czy pole wyboru Utwórz tożsamość zarządzaną zostało zaznaczone, a współautor znajduje się na liście w sekcji Uprawnienia . 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 utworzonych w zakresie przypisania 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 klastra Kubernetes lub AKS z obsługą usługi Azure Arc, który znajduje się w zakresie przypisania zasad.
- W menu usługi w obszarze Ustawienia wybierz pozycję GitOps. Na liście Konfiguracje powinna zostać wyświetlona konfiguracja utworzona przez przypisanie zasad.
- W menu usługi w obszarze Zasoby kubernetes wybierz pozycję Przestrzenie nazw. Powinna zostać wyświetlona przestrzeń nazw utworzona przez konfigurację platformy Flux.
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 limit 20 parametrów dozwolonych w przypisaniach usługi Azure Policy nie wszystkie parametry są uwzględniane we wbudowanych zasadach. Ponadto, aby zmieścić się w tym 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ć te ograniczenia, tworząc zasady niestandardowe przy użyciu wbudowanych zasad jako szablonów. Aby obejść limit 20 parametrów, utwórz zasady niestandardowe zawierające tylko potrzebne parametry i trwale zakoduj resztę.
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.