Verwenden von GitOps zum Konfigurieren eines Kubernetes-Clusters mit Azure Arc-Unterstützung

Abgeschlossen

Einer der Hauptvorteile von Azure Arc besteht im Implementieren von DevOps-Prinzipien, um etablierte Entwicklungsverfahren auf Vorgänge anzuwenden. DevOps erhöht die Agilität, ohne die Stabilität der IT-Umgebung zu gefährden.

Kubernetes mit Azure Arc-Unterstützung unterstützt GitOps, eine DevOps-Methode, die Anwendungsveröffentlichungen optimiert, indem sie den manuellen Bereitstellungsaufwand reduziert.

In dieser Lerneinheit erfahren Sie mehr über GitOps und dessen Konfiguration für Kubernetes-Cluster mit Azure Arc-Unterstützung.

GitOps für Kubernetes mit Arc-Unterstützung

GitOps erleichtert das Standardisieren von Kubernetes-Konfigurationen in Ihrer Organisation, einschließlich von Kubernetes-Instanzen mit Arc-Unterstützung. Ein Repository oder eine andere Dateiquelle hostet Konfigurationsdateien, die den erwarteten Zustand einer Ressource darstellen. Eine Baselinekonfiguration könnte beispielsweise das Delegierungsmodell, die Überwachungs- und Protokollierungseinstellungen sowie die Eigenschaften von clusterweiten Diensten enthalten.

Ein Agent, der im Kubernetes-Cluster ausgeführt wird, überwacht den Status des Repositorys. Wenn eine Konfigurationsänderung vorliegt, ruft der Agent die aktualisierten Dateien auf dem Cluster ab und wendet die neue Konfiguration an, um sicherzustellen, dass der Cluster im gewünschten Zustand bleibt.

Kubernetes-Cluster mit Azure Arc-Unterstützung basieren auf Flux, einem beliebten Open-Source-GitOps-Bereitstellungsoperator, der die Bereitstellung von Konfigurationen im Cluster automatisiert. Flux unterstützt gängige Dateiquellen wie Git-Repositorys, Helm-Repositorys und Buckets und unterstützt YAML-, Helm- und Kustomize-Konfigurationsvorlagentypen.

Das folgende Diagramm zeigt einen GitOps-Flow, der Flux zum Bereitstellen von Clusterkonfigurationen und Anwendungsupdates verwendet.

Diagram of the GitOps flow showing an application update.

Konfigurieren von GitOps

GitOps verknüpft Ihren Arc-fähigen Kubernetes-Cluster mit einer oder mehreren Dateiquellen, z. B. einem Git-Repository. Jedes Repository kann Konfigurationen gültiger Kubernetes-Ressourcen wie z. B. Namespaces oder Bereitstellungen in Form von Manifestdateien enthalten.

Die folgende Abbildung zeigt die Anwendung von GitOps-basierten Konfigurationen auf mehrere Cluster mit Azure Arc-Unterstützung.

Diagram showing the process of applying GitOps-based configuration to multiple Azure Arc-enabled clusters.

GitOps ist in einem Kubernetes-Cluster als Microsoft.KubernetesConfiguration/extensions/microsoft.flux-Clustererweiterungsressource aktiviert. Um fluxConfigurations zu erstellen, muss die microsoft.flux-Erweiterung im Cluster installiert sein. Diese Erweiterung wird automatisch installiert, wenn Sie die erste Microsoft.KubernetesConfiguration/fluxConfigurations-Instanz in einem Cluster erstellen. Sie können die Erweiterung auch manuell installieren, bevor Sie Ihre Konfigurationen erstellen.

Jede Zuordnung zwischen der Konfiguration eines Kubernetes-Clusters mit Azure Arc-Unterstützung und dem entsprechenden GitOps-Repository wird in Azure als Teil der Azure-Ressource für den Kubernetes-Cluster mit Azure Arc-Unterstützung gehostet. Sie können die Zuordnung über Azure-Verwaltungsschnittstellen wie das Azure-Portal oder die Azure-Befehlszeilenschnittstelle konfigurieren.

Um GitOps mit einem Kubernetes-Cluster mit Azure Arc-Unterstützung zu implementieren, führen Sie die folgenden allgemeinen Schritte aus.

  1. Verwenden Sie die Azure CLI-Erweiterung k8s-configuration, um eine Flux-Konfiguration anzuwenden und GitOps in Ihrem Arc-fähigen Kubernetes-Cluster zu aktivieren.
  2. Überprüfen Sie die Konfiguration, um die erfolgreiche Erstellung zu bestätigen. Die Konfigurationsressource wird mit Compliancestatus, Nachrichten und Debuginformationen aktualisiert.

Nachdem Sie die Konfiguration angewandt haben, können Sie das Azure-Portal zum Anzeigen der Compliancedetails verwenden. Sie können über das Azure-Portal auch GitOps-Konfigurationen erstellen, aktualisieren und löschen.

Verwenden von Azure Policy zum Automatisieren der Konfiguration

Sie können Azure Policy verwenden, um den Konfigurationsprozess zu automatisieren und Ihre Konfiguration konsistent im großen Stil anzuwenden. Bevor Sie eine Richtlinie zum Konfigurieren der Cluster zuweisen, müssen Sie sicherstellen, dass die Flux-Erweiterung auf den Clustern erstellt wird. Sie können dies tun, indem Sie zuerst die Clusterrichtliniendefinition Konfigurieren der Installation der Flux-Erweiterung im Kubernetes-Cluster zuweisen, wodurch sichergestellt wird, dass die Erweiterung installiert wird.

Das Erstellen der Azure Policy-Zuweisung im Azure-Portal besteht aus den folgenden allgemeinen Schritten:

  1. Zeigen Sie im Azure-Portal alle Richtliniendefinitionen an, indem Sie nach Richtlinie suchen und die Option auswählen und dann auf der Seite Richtlinie die Option Definitionen auswählen.
  2. Suchen Sie nach Kubernetes-Cluster mit der angegebenen GitOps-Konfiguration konfigurieren, und wählen Sie eine der integrierten Richtliniendefinitionen aus.
  3. Wählen Sie Zuweisen aus, und erstellen Sie eine Richtlinienzuweisung, indem Sie die Einstellungen für Bereich, Parameter und Wartung angeben.
  4. Klicken Sie auf Überprüfen und erstellen und dann auf Erstellen.

Die Richtlinienzuweisung aktiviert GitOps automatisch für jeden Azure Arc-fähigen Kubernetes-Cluster, der innerhalb des Zuweisungsbereichs erstellt wurde. Für bestehende Cluster müssen Sie den Wiederherstellungstask manuell ausführen.

In der nächsten Lerneinheit erfahren Sie mehr über Azure Policy.