Självstudie: Distribuera program med GitOps med Flux v2

I den här självstudien beskrivs hur du använder GitOps i ett Kubernetes-kluster. GitOps med Flux v2 är aktiverat som ett klustertillägg i Azure Arc-aktiverade Kubernetes-kluster eller Azure Kubernetes Service-kluster (AKS). När klustertillägget microsoft.flux har installerats kan du skapa en eller flera fluxConfigurations resurser som synkroniserar git-lagringsplatsens källor till klustret och stämma av klustret med önskat tillstånd. Med GitOps kan du använda din Git-lagringsplats som sanningskälla för klusterkonfiguration och programdistribution.

I den här självstudien använder vi ett exempel på GitOps-konfiguration med två kustomiseringar, så att du kan se hur en kustomisering kan ha ett beroende av en annan. Du kan lägga till fler kustomizations och beroenden efter behov, beroende på ditt scenario.

Innan du dyker in kan du ta en stund och lära dig hur GitOps med Flux fungerar konceptuellt.

Dricks

Även om källan i den här självstudien är en Git-lagringsplats ger Flux även stöd för andra vanliga filkällor som Helm-lagringsplatser, Buckets och Azure Blob Storage.

Du kan också skapa Flux-konfigurationer med hjälp av Bicep, ARM-mallar eller Terraform AzAPI-provider. Mer information finns i Microsoft.KubernetesConfiguration fluxConfigurations.

Viktigt!

Tillägget microsoft.flux släppte huvudversion 1.0.0. Detta inkluderar funktionen för flera innehavare. Om du har befintliga GitOps Flux v2-konfigurationer som använder en tidigare version av tillägget kan du uppgradera till den senaste versionen manuellt med hjälp av microsoft.flux Azure CLI: az k8s-extension create -g <RESOURCE_GROUP> -c <CLUSTER_NAME> -n flux --extension-type microsoft.flux -t <CLUSTER_TYPE> (används -t connectedClusters för Arc-kluster och -t managedClusters för AKS-kluster).

Förutsättningar

Om du vill distribuera program med GitOps med Flux v2 behöver du:

För Azure Arc-aktiverade Kubernetes-kluster

För Azure Kubernetes Service-kluster

  • Ett MSI-baserat AKS-kluster som är igång.

    Viktigt!

    Kontrollera att AKS-klustret skapas med MSI (inte SPN), eftersom microsoft.flux tillägget inte fungerar med SPN-baserade AKS-kluster. Nya AKS-kluster som skapas med az aks create blir MSI-baserade som standard. Kör för redan skapade SPN-baserade kluster som måste konverteras till MSI az aks update -g $RESOURCE_GROUP -n $CLUSTER_NAME --enable-managed-identity. Mer information finns i Använda en hanterad identitet i AKS.

  • Läs- och skrivbehörigheter för Microsoft.ContainerService/managedClusters resurstypen.

Gemensamt för båda klustertyperna

  • Läs- och skrivbehörigheter för dessa resurstyper:

    • Microsoft.KubernetesConfiguration/extensions
    • Microsoft.KubernetesConfiguration/fluxConfigurations
  • Azure CLI version 2.15 och senare. Installera Azure CLI eller använd följande kommandon för att uppdatera till den senaste versionen:

    az version
    az upgrade
    
  • Kubernetes-kommandoradsklienten kubectl. kubectl är redan installerat om du använder Azure Cloud Shell.

    Installera kubectl lokalt med az aks install-cli kommandot :

    az aks install-cli
    
  • Registrering av följande Azure-resursprovidrar:

    az provider register --namespace Microsoft.Kubernetes
    az provider register --namespace Microsoft.ContainerService
    az provider register --namespace Microsoft.KubernetesConfiguration
    

    Registreringen är en asynkron process och bör slutföras inom 10 minuter. Om du vill övervaka registreringsprocessen använder du följande kommando:

    az provider show -n Microsoft.KubernetesConfiguration -o table
    
    Namespace                          RegistrationPolicy    RegistrationState
    ---------------------------------  --------------------  -------------------
    Microsoft.KubernetesConfiguration  RegistrationRequired  Registered
    

Stöd för version och region

GitOps stöds för närvarande i alla regioner som Azure Arc-aktiverade Kubernetes stöder. GitOps stöds för närvarande i en del av de regioner som AKS stöder. GitOps-tjänsten lägger till nya regioner som stöds regelbundet.

Den senaste versionen av Flux v2-tillägget och de två tidigare versionerna (N-2) stöds. Vi rekommenderar vanligtvis att du använder den senaste versionen av tillägget.

Nätverkskrav

GitOps-agenterna måste ha utgående TCP till lagringsplatskällan på antingen port 22 (SSH) eller port 443 (HTTPS) för att fungera. Agenterna kräver också åtkomst till följande utgående URL:er:

Slutpunkt (DNS) Description
https://management.azure.com Krävs för att agenten ska kunna kommunicera med Kubernetes-konfigurationstjänsten.
https://<region>.dp.kubernetesconfiguration.azure.com Dataplanets slutpunkt för agenten för att push-överföra status och hämta konfigurationsinformation. Beror på <region> (de regioner som stöds ovan).
https://login.microsoftonline.com Krävs för att hämta och uppdatera Azure Resource Manager-token.
https://mcr.microsoft.com Krävs för att hämta containeravbildningar för Flux-kontrollanter.

Aktivera CLI-tillägg

Installera de senaste k8s-configuration paketen och k8s-extension CLI-tilläggspaketen:

az extension add -n k8s-configuration
az extension add -n k8s-extension

Så här uppdaterar du dessa paket till de senaste versionerna:

az extension update -n k8s-configuration
az extension update -n k8s-extension

Om du vill se en lista över alla installerade Azure CLI-tillägg och deras versioner använder du följande kommando:

az extension list -o table

Experimental   ExtensionType   Name                   Path                                                       Preview   Version
-------------  --------------  -----------------      -----------------------------------------------------      --------  --------
False          whl             connectedk8s           C:\Users\somename\.azure\cliextensions\connectedk8s         False     1.2.7
False          whl             k8s-configuration      C:\Users\somename\.azure\cliextensions\k8s-configuration    False     1.5.0
False          whl             k8s-extension          C:\Users\somename\.azure\cliextensions\k8s-extension        False     1.1.0

Dricks

Hjälp med att lösa eventuella fel finns i avsnittet GitOps (Flux v2) i Felsöka tilläggsproblem för Azure Arc-aktiverade Kubernetes-kluster.

Tillämpa en Flux-konfiguration

k8s-configuration Använd Azure CLI-tillägget eller Azure-portalen för att aktivera GitOps i ett AKS- eller Arc-aktiverat Kubernetes-kluster. För en demonstration använder du lagringsplatsen public gitops-flux2-kustomize-helm-mt .

Viktigt!

Demonstrationsplatsen är utformad för att förenkla din användning av den här självstudien och illustrera några viktiga principer. För att hålla dig uppdaterad kan lagringsplatsen ibland få icke-bakåtkompatibla ändringar från versionsuppgraderingar. Dessa ändringar påverkar inte ditt nya program i den här självstudien, bara tidigare självstudier som inte har tagits bort. Information om hur du hanterar dessa ändringar finns i ansvarsfriskrivningen för icke-bakåtkompatibla ändringar.

I följande exempel används az k8s-configuration create kommandot för att tillämpa en Flux-konfiguration på ett kluster med hjälp av följande värden och inställningar:

  • Resursgruppen som innehåller klustret är flux-demo-rg.
  • Namnet på Azure Arc-klustret är flux-demo-arc.
  • Klustertypen är Azure Arc (-t connectedClusters), men det här exemplet fungerar också med AKS (-t managedClusters).
  • Namnet på Flux-konfigurationen är cluster-config.
  • Namnområdet för konfigurationsinstallationen är cluster-config.
  • URL:en för den offentliga Git-lagringsplatsen är https://github.com/Azure/gitops-flux2-kustomize-helm-mt.
  • Git-lagringsplatsgrenen är main.
  • Omfånget för konfigurationen är cluster. Det här omfånget ger operatorerna behörighet att göra ändringar i hela klustret. Om du vill använda namespace omfång med den här självstudien kan du läsa de ändringar som behövs.
  • Två kustomizations anges med namn infra och apps. Var och en är associerad med en sökväg i lagringsplatsen.
  • Kustomiseringen apps beror på infra kustomiseringen. (Kustomiseringen infra måste slutföras innan apps kustomiseringen körs.)
  • Ställ in prune=true på båda kustomiseringarna. Den här inställningen säkerställer att de objekt som Flux distribuerade till klustret rensas om de tas bort från lagringsplatsen, eller om Flux-konfigurationen eller kustomizations tas bort.
az k8s-configuration flux create -g flux-demo-rg \
-c flux-demo-arc \
-n cluster-config \
--namespace cluster-config \
-t connectedClusters \
--scope cluster \
-u https://github.com/Azure/gitops-flux2-kustomize-helm-mt \
--branch main  \
--kustomization name=infra path=./infrastructure prune=true \
--kustomization name=apps path=./apps/staging prune=true dependsOn=\["infra"\]

Tillägget microsoft.flux är installerat på klustret (om det inte redan var installerat i en tidigare GitOps-distribution).

Dricks

Kommandot az k8s-configuration create distribuerar microsoft.flux tillägget till klustret och skapar konfigurationen. I vissa scenarier kanske du vill skapa instansen av fluxtillägget separat innan du skapar dina konfigurationsresurser. Om du vill göra det använder du az k8s-extension create kommandot för att skapa en instans av tillägget i klustret.

När fluxkonfigurationen först installeras kan det inledande efterlevnadstillståndet vara Pending eller Non-compliant eftersom avstämningen fortfarande pågår. Efter en minut eller så frågar du konfigurationen igen för att se det slutliga efterlevnadstillståndet.

az k8s-configuration flux show -g flux-demo-rg -c flux-demo-arc -n cluster-config -t connectedClusters

Kontrollera att distributionen lyckades genom att köra följande kommando:

az k8s-configuration flux show -g flux-demo-rg -c flux-demo-arc -n cluster-config -t connectedClusters

Med en lyckad distribution skapas följande namnområden:

  • flux-system: Innehåller Flux-tilläggskontrollanterna.
  • cluster-config: Innehåller Flux-konfigurationsobjekten.
  • nginx, , podinforedis: Namnområden för arbetsbelastningar som beskrivs i manifest på Git-lagringsplatsen.

Bekräfta namnrymderna genom att köra följande kommando:

kubectl get namespaces

Namnområdet flux-system innehåller Flux-tilläggsobjekten:

  • Azure Flux-styrenheter: fluxconfig-agent, fluxconfig-controller
  • OSS Flux-styrenheter: source-controller, kustomize-controller, helm-controller, notification-controller

Flux-agenten och styrenhetspoddarna ska vara i ett körningstillstånd. Bekräfta detta med hjälp av följande kommando:

kubectl get pods -n flux-system

NAME                                      READY   STATUS    RESTARTS   AGE
fluxconfig-agent-9554ffb65-jqm8g          2/2     Running   0          21m
fluxconfig-controller-9d99c54c8-nztg8     2/2     Running   0          21m
helm-controller-59cc74dbc5-77772          1/1     Running   0          21m
kustomize-controller-5fb7d7b9d5-cjdhx     1/1     Running   0          21m
notification-controller-7d45678bc-fvlvr   1/1     Running   0          21m
source-controller-df7dc97cd-4drh2         1/1     Running   0          21m

Namnområdet cluster-config har Flux-konfigurationsobjekten.

kubectl get crds

NAME                                                   CREATED AT
alerts.notification.toolkit.fluxcd.io                  2022-04-06T17:15:48Z
arccertificates.clusterconfig.azure.com                2022-03-28T21:45:19Z
azureclusteridentityrequests.clusterconfig.azure.com   2022-03-28T21:45:19Z
azureextensionidentities.clusterconfig.azure.com       2022-03-28T21:45:19Z
buckets.source.toolkit.fluxcd.io                       2022-04-06T17:15:48Z
connectedclusters.arc.azure.com                        2022-03-28T21:45:19Z
customlocationsettings.clusterconfig.azure.com         2022-03-28T21:45:19Z
extensionconfigs.clusterconfig.azure.com               2022-03-28T21:45:19Z
fluxconfigs.clusterconfig.azure.com                    2022-04-06T17:15:48Z
gitconfigs.clusterconfig.azure.com                     2022-03-28T21:45:19Z
gitrepositories.source.toolkit.fluxcd.io               2022-04-06T17:15:48Z
helmcharts.source.toolkit.fluxcd.io                    2022-04-06T17:15:48Z
helmreleases.helm.toolkit.fluxcd.io                    2022-04-06T17:15:48Z
helmrepositories.source.toolkit.fluxcd.io              2022-04-06T17:15:48Z
imagepolicies.image.toolkit.fluxcd.io                  2022-04-06T17:15:48Z
imagerepositories.image.toolkit.fluxcd.io              2022-04-06T17:15:48Z
imageupdateautomations.image.toolkit.fluxcd.io         2022-04-06T17:15:48Z
kustomizations.kustomize.toolkit.fluxcd.io             2022-04-06T17:15:48Z
providers.notification.toolkit.fluxcd.io               2022-04-06T17:15:48Z
receivers.notification.toolkit.fluxcd.io               2022-04-06T17:15:48Z
volumesnapshotclasses.snapshot.storage.k8s.io          2022-03-28T21:06:12Z
volumesnapshotcontents.snapshot.storage.k8s.io         2022-03-28T21:06:12Z
volumesnapshots.snapshot.storage.k8s.io                2022-03-28T21:06:12Z
websites.extensions.example.com                        2022-03-30T23:42:32Z

Bekräfta annan information om konfigurationen med hjälp av följande kommandon.

kubectl get fluxconfigs -A

NAMESPACE        NAME             SCOPE     URL                                                       PROVISION   AGE
cluster-config   cluster-config   cluster   https://github.com/Azure/gitops-flux2-kustomize-helm-mt   Succeeded   44m
kubectl get gitrepositories -A

NAMESPACE        NAME             URL                                                       READY   STATUS                                                            AGE
cluster-config   cluster-config   https://github.com/Azure/gitops-flux2-kustomize-helm-mt   True    Fetched revision: main/4f1bdad4d0a54b939a5e3d52c51464f67e474fcf   45m
kubectl get helmreleases -A

NAMESPACE        NAME      READY   STATUS                             AGE
cluster-config   nginx     True    Release reconciliation succeeded   66m
cluster-config   podinfo   True    Release reconciliation succeeded   66m
cluster-config   redis     True    Release reconciliation succeeded   66m
kubectl get kustomizations -A


NAMESPACE        NAME                   READY   STATUS                                                            AGE
cluster-config   cluster-config-apps    True    Applied revision: main/4f1bdad4d0a54b939a5e3d52c51464f67e474fcf   65m
cluster-config   cluster-config-infra   True    Applied revision: main/4f1bdad4d0a54b939a5e3d52c51464f67e474fcf   65m

Arbetsbelastningar distribueras från manifest på Git-lagringsplatsen.

kubectl get deploy -n nginx

NAME                                       READY   UP-TO-DATE   AVAILABLE   AGE
nginx-ingress-controller                   1/1     1            1           67m
nginx-ingress-controller-default-backend   1/1     1            1           67m

kubectl get deploy -n podinfo

NAME      READY   UP-TO-DATE   AVAILABLE   AGE
podinfo   1/1     1            1           68m

kubectl get all -n redis

NAME                 READY   STATUS    RESTARTS   AGE
pod/redis-master-0   1/1     Running   0          68m

NAME                     TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)    AGE
service/redis-headless   ClusterIP   None          <none>        6379/TCP   68m
service/redis-master     ClusterIP   10.0.13.182   <none>        6379/TCP   68m

NAME                            READY   AGE
statefulset.apps/redis-master   1/1     68m

Kontrollera vilka styrenheter som distribueras med Flux-klustertillägget

I vissa scenarier kanske du vill ändra vilka Flux-styrenheter som är installerade med Flux-klustertillägget.

Styrenheterna source, helm, kustomizeoch notification Flux installeras som standard. Kontrollanterna image-automation och image-reflector som används för att uppdatera en Git-lagringsplats när nya containeravbildningar är tillgängliga måste aktiveras explicit.

Du kan använda k8s-extension kommandot för att ändra standardalternativen:

  • --config source-controller.enabled=<true/false> (standard true)
  • --config helm-controller.enabled=<true/false> (standard true)
  • --config kustomize-controller.enabled=<true/false> (standard true)
  • --config notification-controller.enabled=<true/false> (standard true)
  • --config image-automation-controller.enabled=<true/false> (standard false)
  • --config image-reflector-controller.enabled=<true/false> (standard false)

Om du till exempel vill inaktivera meddelanden kan du ange notification-controller.enabled till false.

Det här exempelkommandot installerar kontrollanterna image-reflector och image-automation . Om Flux-tillägget skapades automatiskt när en Flux-konfiguration först skapades blir fluxtilläggsnamnet .

az k8s-extension create -g <cluster_resource_group> -c <cluster_name> -t <connectedClusters or managedClusters or provisionedClusters> --name flux --extension-type microsoft.flux --config image-automation-controller.enabled=true image-reflector-controller.enabled=true

Använda Kubelet-identitet som autentiseringsmetod för AKS-kluster

För AKS-kluster är ett av autentiseringsalternativen kubelet-identitet. Som standard skapar AKS en egen kubelet-identitet i den hanterade resursgruppen. Om du vill kan du använda en fördefinierad kubelet-hanterad identitet. Det gör du genom att lägga till parametern --config useKubeletIdentity=true vid tidpunkten för installationen av Flux-tillägget.

az k8s-extension create --resource-group <resource-group> --cluster-name <cluster-name> --cluster-type managedClusters --name flux --extension-type microsoft.flux --config useKubeletIdentity=true

Vägledning för Red Hat OpenShift-registrering

Flux-kontrollanter kräver en icke-rootsäkerhetskontextbegränsning för att etablera poddar på klustret korrekt. Dessa begränsningar måste läggas till i klustret innan tillägget registreras microsoft.flux .

NS="flux-system"
oc adm policy add-scc-to-user nonroot system:serviceaccount:$NS:kustomize-controller
oc adm policy add-scc-to-user nonroot system:serviceaccount:$NS:helm-controller
oc adm policy add-scc-to-user nonroot system:serviceaccount:$NS:source-controller
oc adm policy add-scc-to-user nonroot system:serviceaccount:$NS:notification-controller
oc adm policy add-scc-to-user nonroot system:serviceaccount:$NS:image-automation-controller
oc adm policy add-scc-to-user nonroot system:serviceaccount:$NS:image-reflector-controller

Mer information om OpenShift-vägledning för onboarding Flux finns i Flux-dokumentationen.

Arbeta med parametrar

Flux stöder många parametrar för att aktivera olika scenarier. En beskrivning av alla parametrar som Flux stöder finns i den officiella Flux-dokumentationen. Flux i Azure stöder inte alla parametrar ännu. Meddela oss om en parameter som du behöver saknas i Azure-implementeringen.

Information om tillgängliga parametrar och hur du använder dem finns i Parametrar som stöds av GitOps (Flux v2).

Hantera klusterkonfiguration med hjälp av Flux Kustomize-styrenheten

Flux Kustomize-styrenheten installeras som en del av klustertilläggetmicrosoft.flux. Det möjliggör deklarativ hantering av klusterkonfiguration och programdistribution med kubernetes-manifest som synkroniserats från en Git-lagringsplats. Dessa Kubernetes-manifest kan också innehålla en kustomize.yaml-fil .

Information om användning finns i följande resurser:

Hantera Helm-diagramutgåvor med hjälp av Flux Helm-styrenheten

Flux Helm-styrenheten installeras som en del av klustertillägget microsoft.flux . Det gör att du kan deklarativt hantera Helm-diagramversioner med Kubernetes-manifest som du underhåller på din Git-lagringsplats.

Information om användning finns i följande resurser:

Dricks

På grund av hur Helm hanterar indexfiler är bearbetning av Helm-diagram en dyr åtgärd och kan ha mycket hög minnesfotavtryck. Därför kan en avstämning av ett stort antal Helm-diagram samtidigt orsaka minnestoppar och OOMKilled fel. Som standard anger kontrollanten sin minnesgräns till 1Gi och dess minnesbegäranden på 64Mi. Om du vill öka den här gränsen och begäranden på grund av ett stort antal stora Helm-diagramavstämningar kör du följande kommando när du har installerat tillägget microsoft.flux:

az k8s-extension update -g <resource-group> -c <cluster-name> -n flux -t connectedClusters --config source-controller.resources.limits.memory=2Gi source-controller.resources.requests.memory=300Mi

Använda GitRepository-källan för Helm-diagram

Om dina Helm-diagram lagras i den GitRepository källa som du konfigurerar som en del av resursen fluxConfigurations kan du ange att den konfigurerade källan ska användas som källa för Helm-diagrammen genom att lägga clusterconfig.azure.com/use-managed-source: "true" till i din HelmRelease.yaml-fil, som du ser i följande exempel:

---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: somename
  namespace: somenamespace
  annotations:
    clusterconfig.azure.com/use-managed-source: "true"
spec:
  ...

När du använder den här kommentaren korrigeras den distribuerade HelmRelease med referensen till den konfigurerade källan. För närvarande stöds endast GitRepository källan.

Helm-driftidentifiering

Driftidentifiering för Helm-versioner är inte aktiverat som standard. Från och med microsoft.flux v1.7.5 kan du aktivera Helm driftidentifiering genom att köra följande kommando:

az k8s-extension update --resource-group <resource-group> --cluster-name <cluster-name> --name flux --cluster-type <cluster-type> --config helm-controller.detectDrift=true 

Helm OOM-klocka

Från och med microsoft.flux v1.7.5 kan du aktivera Helm OOM-klocka. Mer information finns i Aktivera Helm nära OOM-identifiering.

Se till att granska potentiella reparationsstrategier och tillämpa dem efter behov när du aktiverar den här funktionen.

Om du vill aktivera OOM-klocka kör du följande kommando:

az k8s-extension update --resource-group <resource-group> --cluster-name <cluster-name> --name flux --cluster-type <cluster-type> --config helm-controller.outOfMemoryWatch.enabled=true helm-controller.outOfMemoryWatch.memoryThreshold=70 helm-controller.outOfMemoryWatch.interval=700ms

Om du inte anger värden för memoryThreshold och outOfMemoryWatchär standardtröskelvärdet för minne inställt på 95 %, med intervallet för att kontrollera minnesanvändningen inställt på 500 ms.

Arbetsbelastningsidentitet i AKS-kluster

Från och med microsoft.flux v1.8.0 kan du skapa Flux-konfigurationer i AKS-kluster med arbetsbelastningsidentitet aktiverad. Det gör du genom att ändra fluxtillägget enligt följande steg.

  1. Hämta OIDC-utfärdarens URL för klustret.

  2. Skapa en hanterad identitet och anteckna dess klient-ID.

  3. Skapa fluxtillägget i klustret med följande kommando:

    az k8s-extension create --resource-group <resource_group_name> --cluster-name <aks_cluster_name> --cluster-type managedClusters --name flux --extension-type microsoft.flux --config workloadIdentity.enable=true workloadIdentity.azureClientId=<user_assigned_client_id>
    
  4. Upprätta en federerad identitetsautentiseringsuppgift. Till exempel:

    # For source-controller
    az identity federated-credential create --name ${FEDERATED_IDENTITY_CREDENTIAL_NAME} --identity-name "${USER_ASSIGNED_IDENTITY_NAME}" --resource-group "${RESOURCE_GROUP}" --issuer "${AKS_OIDC_ISSUER}" --subject system:serviceaccount:"flux-system":"source-controller" --audience api://AzureADTokenExchange
    
    # For image-reflector controller if you plan to enable it during extension creation, it is not deployed by default
    az identity federated-credential create --name ${FEDERATED_IDENTITY_CREDENTIAL_NAME} --identity-name "${USER_ASSIGNED_IDENTITY_NAME}" --resource-group "${RESOURCE_GROUP}" --issuer "${AKS_OIDC_ISSUER}" --subject system:serviceaccount:"flux-system":"image-reflector-controller" --audience api://AzureADTokenExchange
    
  5. Kontrollera att den anpassade resurs som behöver använda arbetsbelastningsidentiteten har angett .spec.provider värdet till azure i manifestet. Till exempel:

    apiVersion: source.toolkit.fluxcd.io/v1beta2
    kind: HelmRepository
    metadata:
      name: acrrepo
    spec:
      interval: 10m0s
      type: <helm_repository_type>
      url: <helm_repository_link>
      provider: azure
    
  6. Se till att ge rätt behörigheter för arbetsbelastningsidentitet för den resurs som du vill att källkontrollanten eller bildreflektorkontrollanten ska hämta. Om du till exempel använder Azure Container Registry AcrPull krävs behörigheter.

Ta bort Flux-konfigurationen och -tillägget

Använd följande kommandon för att ta bort dina Flux-konfigurationer och, om så önskas, själva Flux-tillägget.

Ta bort Flux-konfigurationerna

Följande kommando tar bort både resursen fluxConfigurations i Azure och Flux-konfigurationsobjekten i klustret. Eftersom Flux-konfigurationen ursprungligen skapades med parametern prune=true för kustomizationen tas alla objekt som skapats i klustret baserat på manifest i Git-lagringsplatsen bort när Flux-konfigurationen tas bort. Det här kommandot tar dock inte bort själva Flux-tillägget.

az k8s-configuration flux delete -g flux-demo-rg -c flux-demo-arc -n cluster-config -t connectedClusters --yes

Ta bort Flux-klustertillägget

När du tar bort Flux-tillägget tas både tilläggsresursen microsoft.flux i Azure och Flux-tilläggsobjekten i klustret bort.

Viktigt!

Se till att ta bort alla Flux-konfigurationer i klustret innan du tar bort Flux-tillägget. Om du tar bort tillägget utan att först ta bort Flux-konfigurationerna kan klustret vara instabilt.

Om Flux-tillägget skapades automatiskt när Flux-konfigurationen först skapades är fluxtilläggsnamnet .

az k8s-extension delete -g flux-demo-rg -c flux-demo-arc -n flux -t connectedClusters --yes

Dricks

Dessa kommandon använder -t connectedClusters, vilket är lämpligt för ett Azure Arc-aktiverat Kubernetes-kluster. Använd i stället för ett AKS-kluster -t managedClusters .

Nästa steg