Freigeben über


Konsistentes Bereitstellen von Anwendungen im großen Stil mithilfe von Flux v2-Konfigurationen und Azure Policy

Sie können Azure Policy verwenden, um Flux v2-Konfigurationen (Ressourcentyp Microsoft.KubernetesConfiguration/fluxConfigurations) im großen Stil auf Kubernetes-Cluster mit Azure Arc-Unterstützung (Microsoft.Kubernetes/connectedClusters) oder auf AKS-Cluster (Microsoft.ContainerService/managedClusters) anzuwenden. Um Azure Policy zu verwenden, wählen Sie eine integrierte Richtliniendefinition aus, und erstellen Sie eine Richtlinienzuweisung.

Bevor Sie die Richtlinie zuweisen, die Flux-Konfigurationen erstellt, müssen Sie sicherstellen, dass die Flux-Erweiterung in Ihren Clustern bereitgestellt wird. Dazu können Sie eine Richtlinie zuweisen, welche die Erweiterung allen Clustern im ausgewählten Bereich (alle Ressourcengruppen in einem Abonnement oder einer Verwaltungsgruppe oder bestimmten Ressourcengruppen) bereitstellt. Wenn Sie dann die Richtlinienzuweisung für die Bereitstellung von Konfigurationen erstellen, legen Sie Parameter für die Flux-Konfiguration fest, die auf die Cluster in diesem Bereich angewendet werden soll.

Um die Trennung von Belangen zu ermöglichen, können Sie mehrere Richtlinienzuweisungen erstellen, die jeweils über eine andere Flux v2-Konfiguration verfügen, die auf eine andere Quelle verweist. Beispielsweise kann ein Git-Repository von Clusteradministratoren, hingegen andere Repositorys von Anwendungsteams verwendet werden.

Integrierte Richtliniendefinitionen

Die folgenden integrierten Richtliniendefinitionen unterstützen diese Szenarien:

Beschreibung Policy
Flux-Erweiterungsinstallation (erforderlich für alle Szenarien) Configure installation of Flux extension on Kubernetes cluster
Flux-Konfiguration mittels öffentlichem Git-Repository (im Allgemeinen ein Testszenario) Configure Kubernetes clusters with Flux v2 configuration using public Git repository
Flux-Konfiguration mittels privatem Git-Repository mit SSH-Authentifizierung Configure Kubernetes clusters with Flux v2 configuration using Git repository and SSH secrets
Flux-Konfiguration mittels privatem Git-Repository mit HTTPS-Authentifizierung Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS secrets
Flux-Konfiguration mittels privatem Git-Repository mit HTTPS-Authentifizierung mit Zertifikat einer Zertifizierungsstelle Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS CA Certificate
Flux-Konfiguration mittels privatem Git-Repository mit lokalem K8s-Geheimnis Configure Kubernetes clusters with Flux v2 configuration using Git repository and local secrets
Flux-Konfiguration mittels privater Bucket-Quelle und KeyVault-Schlüsseln Configure Kubernetes clusters with Flux v2 configuration using Bucket source and secrets in KeyVault
Flux-Konfiguration mittels privater Bucket-Quelle und lokalem K8s-Geheimnis Configure Kubernetes clusters with specified Flux v2 Bucket source using local secrets

Sie können nach Flux suchen, um alle Richtliniendefinitionen von Flux v2 zu finden. Weitere Informationen finden Sie unter Integrierte Azure-Richtliniendefinitionen für Azure Arc-fähiges Kubernetes.

Voraussetzungen

  • Ein oder mehrere Arc-fähige Kubernetes-Cluster und/oder AKS-Cluster.
  • Microsoft.Authorization/policyAssignments/write-Berechtigungen für den Bereich (Abonnement oder Ressourcengruppe), in dem Sie die Richtlinienzuweisung erstellen.

Erstellen einer Richtlinienzuweisung zur Installation der Flux-Erweiterung

Damit eine Richtlinie Flux v2-Konfigurationen auf ein Cluster anwenden kann, muss die Flux-Erweiterung zuerst auf dem Cluster installiert werden. Um sicherzustellen, dass die Erweiterung auf jedem Ihrer Cluster installiert ist, weisen Sie die Configure-Installation der Flux-Erweiterung auf Kubernetes Clusterrichtliniendefinition dem gewünschten Bereich zu.

  1. Navigieren Sie im Azure-Portal zu Policy.
  2. Wählen Sie im Abschnitt Erstellung auf der Randleiste die Option Definitionen aus.
  3. Finden Sie die integrierte Richtlinie Konfigurieren der Installation der Flux-Erweiterung im Kubernetes-Cluster, und wählen Sie sie aus.
  4. Wählen Sie Richtlinie zuweisen aus.
  5. Legen Sie den Bereich auf die Verwaltungsgruppe, das Abonnement oder die Ressourcengruppe fest, in der oder dem die Richtlinienzuweisung angewandt wird.
    • Wenn Sie irgendwelche Ressourcen aus dem Zuweisungsbereich der Richtlinie ausschließen möchten, setzen Sie Ausschlüsse.
  6. Legen Sie für die Richtlinienzuweisung einen einfach erkennbaren Zuordnungsnamen und eine Beschreibung fest.
  7. Stellen Sie sicher, dass Richtlinienerzwingung auf Aktiviert festgelegt ist.
  8. Klicken Sie aufÜberprüfen + erstellen und dann auf Erstellen.

Erstellen einer Richtlinienzuweisung zum Anwenden von Flux-Konfigurationen

Kehren Sie als Nächstes zur Definitionsliste (im Abschnitt Dokumenterstellung der Richtlinie) zurück, um die Konfigurationsrichtliniendefinition auf denselben Bereich anzuwenden.

  1. Finden Sie in der Kategorie „Kubernetes“ die integrierte Richtliniendefinition Kubernetes Cluster mit Flux v2-Konfiguration mithilfe von öffentlichen Git-Repositorys konfigurieren oder eine der anderen Richtliniendefinitionen, und wählen Sie sie aus, um Flux-Konfigurationen anzuwenden.

  2. Wählen Sie Richtlinie zuweisen aus.

  3. Legen Sie den Bereich auf denselben Bereich fest, den Sie beim Zuweisen der ersten Richtlinie ausgewählt haben, einschließlich aller Ausschlüsse.

  4. Legen Sie für die Richtlinienzuweisung einen einfach erkennbaren Zuordnungsnamen und eine Beschreibung fest.

  5. Stellen Sie sicher, dass Richtlinienerzwingung auf Aktiviert festgelegt ist.

  6. Wählen Sie Weiter aus, um die Registerkarte Parameter zu öffnen.

  7. Legen Sie die zu verwendenden Parameterwerte mithilfe der Parameternamen aus der Richtliniendefinition fest.

    • Weitere Informationen zu Parametern finden Sie unter Von GitOps (Flux v2) unterstützte Parameter.
    • Wenn Sie Flux-Konfigurationen erstellen mithilfe einer Richtlinie erstellen, müssen Sie einen Wert für einen (und nur einen) dieser Parameter angeben: repositoryRefBranch, repositoryRefTag, repositoryRefSemver, repositoryRefCommit.
  8. Wählen Sie Weiter aus, um die Wartungsaufgabe zu öffnen.

  9. Aktivieren Sie Korrekturtask erstellen.

  10. Stellen Sie sicher, dass Verwaltete Identität erstellen aktiviert ist und dass Mitwirkender im Abschnitt Berechtigungen aufgeführt ist. Weitere Informationen finden Sie in der Schnellstartanleitung: Erstellen einer Richtlinienzuweisung, um nicht kompatible Ressourcen zu identifizieren und nicht kompatible Ressourcen mit Azure-Richtlinie zu beheben.

  11. Klicken Sie aufÜberprüfen + erstellen und dann auf Erstellen.

Die Konfiguration wird dann auf neue Cluster angewendet, die im Rahmen der Richtlinienzuweisung erstellt wurden.

Bei vorhandenen Clustern müssen Sie eventuell manuell einen Wartungstask ausführen. Es dauert in der Regel 10 bis 20 Minuten, bis die Richtlinienzuweisung wirksam wird.

Überprüfen der Richtlinienzuweisung

  1. Navigieren Sie im Azure-Portal zu einem Azure Arc-fähigen Kubernetes- oder AKS-Cluster, der sich im Rahmen der Richtlinienzuweisung befindet.
  2. Wählen Sie im Dienstmenü unter Einstellungen die Option GitOps aus. In der Liste Konfigurationen sollte die durch die Richtlinienzuweisung erstellte Konfiguration angezeigt werden.
  3. Wählen Sie im Dienstmenü unter Kubernetes-Ressourcen Namespaces aus. Sie sollten den Namespace sehen, der von der Flux-Konfiguration erstellt wurden.

Anpassen einer Richtlinie

Die integrierten Richtlinien decken die wichtigsten Szenarien für die Verwendung von GitOps mit Flux v2 in Ihren Kubernetes-Clustern ab. Aufgrund der Beschränkung der Anzahl zulässigen Parameter in Azure Policy-Zuweisungen auf 20 sind jedoch nicht alle Parameter in den integrierten Richtlinien enthalten. Außerdem kann mit den integrierten Richtlinien nur eine einzelne Anpassung erstellt werden, um diese Grenze von 20 Parametern einzuhalten.

Wenn Sie ein Szenario haben, das von den integrierten Richtlinien abweicht, können Sie diese Einschränkungen überwinden, indem Sie benutzerdefinierte Richtlinien mithilfe der integrierten Richtlinien als Vorlagen erstellen. Um das Limit von 20 Parametern zu umgehen, können Sie benutzerdefinierte Richtlinien erstellen, die nur die von Ihnen benötigten Parameter enthalten, und den Rest hartcodieren.

Nächste Schritte