GitOps gebruiken om Kubernetes-clusters met Azure Arc te configureren

Voltooid

Een belangrijk voordeel van Azure Arc is het vergemakkelijken van de implementatie van DevOps-principes, die gevestigde ontwikkelprocedures toepassen op bewerkingen. DevOps verhoogt de flexibiliteit zonder de stabiliteit van de IT-omgeving in gevaar te brengen.

Kubernetes met Azure Arc ondersteunt GitOps, een DevOps-praktijk waarmee toepassingsreleases worden gestroomlijnd door handmatige implementatie te verminderen.

In deze les leert u meer over GitOps en hoe u deze configureert voor Kubernetes-clusters met Azure Arc.

GitOps voor Kubernetes met Arc

GitOps maakt het eenvoudiger om Kubernetes-configuraties in uw organisatie te standaardiseren, met inbegrip van Kubernetes met Arc. Een opslagplaats of een andere bestandsbron host configuratiebestanden die de verwachte status van een resource vertegenwoordigen. Een basislijnconfiguratie kan bijvoorbeeld het delegeringsmodel, de bewakings- en logboekregistratie-instellingen en kenmerken van clusterbrede services omvatten.

Een agent die wordt uitgevoerd op het Kubernetes-cluster bewaakt de status van de opslagplaats. Wanneer er een configuratiewijziging is, haalt de agent de bijgewerkte bestanden naar het cluster en past de nieuwe configuratie toe, zodat het cluster de gewenste status heeft.

Kubernetes-clusters met Azure Arc zijn afhankelijk van Flux, een populaire opensource GitOps-implementatieoperator waarmee configuratie-implementaties in het cluster worden geautomatiseerd. Flux ondersteunt veelgebruikte bestandsbronnen, zoals Git-opslagplaatsen, Helm-opslagplaatsen en Buckets, en ondersteunt YAML-, Helm- en Kustomize-configuratiesjabloontypen.

In het volgende diagram ziet u een GitOps-stroom die gebruikmaakt van Flux voor het implementeren van clusterconfiguraties en toepassingsupdates.

Diagram of the GitOps flow showing an application update.

GitOps configureren

GitOps koppelt uw Kubernetes-cluster met Arc aan een of meer bestandsbronnen, zoals een Git-opslagplaats. Elke opslagplaats kan configuraties van alle geldige Kubernetes-resources bevatten, zoals naamruimten of implementaties in de vorm van manifestbestanden.

In het volgende diagram ziet u het proces voor het toepassen van op GitOps gebaseerde configuraties op meerdere Clusters met Azure Arc.

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

GitOps is ingeschakeld in een Kubernetes-cluster als clusterextensieresource Microsoft.KubernetesConfiguration/extensions/microsoft.flux . Als u de extensie wilt maken fluxConfigurations, moet de microsoft.flux extensie worden geïnstalleerd in het cluster. De extensie wordt automatisch geïnstalleerd wanneer u het eerste Microsoft.KubernetesConfiguration/fluxConfigurations exemplaar in een cluster maakt. U kunt de extensie ook handmatig installeren voordat u uw configuraties maakt.

Elke koppeling tussen een Kubernetes-clusterconfiguratie met Azure Arc en de bijbehorende GitOps-opslagplaats bevindt zich in Azure als onderdeel van de Azure Kubernetes-clusterresource met Azure Arc. U kunt de koppeling configureren met behulp van Azure-beheerinterfaces zoals Azure Portal of Azure CLI.

Gebruik de volgende stappen op hoog niveau om GitOps te implementeren met een Kubernetes-cluster met Azure Arc.

  1. Gebruik de k8s-configuration Azure CLI-extensie om een Flux-configuratie toe te passen en GitOps in te schakelen in uw Kubernetes-cluster met Arc.
  2. Valideer de configuratie om te bevestigen dat het maken is geslaagd. De configuratieresource wordt bijgewerkt met informatie over nalevingsstatus, berichten en foutopsporing.

Zodra u de configuratie hebt toegepast, kunt u Azure Portal gebruiken om nalevingsgegevens weer te geven. U kunt azure Portal ook gebruiken om GitOps-configuraties te maken, bij te werken en te verwijderen.

Azure Policy gebruiken om configuratie te automatiseren

U kunt Azure Policy gebruiken om het configuratieproces te automatiseren, zodat u het consistent op schaal kunt toepassen. Voordat u een beleid toewijst om de clusters te configureren, moet u ervoor zorgen dat de Flux-extensie op de clusters is gemaakt. U kunt dit doen door eerst de installatie van de Flux-extensie configureren toe te wijzen in de definitie van het Kubernetes-clusterbeleid , waardoor de extensie wordt geïnstalleerd.

Het maken van de Azure Policy-toewijzing in Azure Portal bestaat uit de volgende stappen op hoog niveau:

  1. Bekijk in Azure Portal alle beleidsdefinities door beleid te zoeken en te selecteren en vervolgens Definities te selecteren in het linkermenu van de pagina Beleid.
  2. Zoek naar Kubernetes-clusters configureren met de opgegeven GitOps-configuratie en selecteer een van de ingebouwde beleidsdefinities.
  3. Selecteer Toewijzen en maak een beleidstoewijzing door de instellingen voor bereik, parameters en herstel op te geven.
  4. Selecteer Controleren en maken en selecteer vervolgens Maken.

Met de beleidstoewijzing wordt GitOps automatisch ingeschakeld voor elk Kubernetes-cluster met Azure Arc dat is gemaakt in het bereik van de toewijzing. Voor bestaande clusters moet u de hersteltaak handmatig uitvoeren.

In de volgende les leert u meer over Azure Policy.