Samouczek: wdrażanie aplikacji przy użyciu metodyki GitOps z rozwiązaniem Flux v2

Metodyki GitOps z platformą Flux v2 można włączyć jako rozszerzenie klastra w klastrach Kubernetes z włączoną usługą Azure Arc lub klastrach Azure Kubernetes Service (AKS). Po zainstalowaniu rozszerzenia klastra microsoft.flux można utworzyć co najmniej jeden fluxConfigurations zasób, który synchronizuje źródła repozytorium Git z klastrem i uzgadniać klaster z żądanym stanem. Za pomocą metodyki GitOps możesz użyć repozytorium Git jako źródła prawdy na potrzeby konfiguracji klastra i wdrożenia aplikacji.

Uwaga

Ostatecznie platforma Azure przestanie obsługiwać metodyki GitOps z rozwiązaniem Flux v1, dlatego zalecamy migrację do platformy Flux v2 tak szybko, jak to możliwe.

W tym samouczku opisano sposób używania metodyki GitOps w klastrze Kubernetes. Zanim przejdziesz dalej, poświęć chwilę, aby dowiedzieć się, jak działa usługa GitOps z rozwiązaniem Flux.

W tym samouczku używamy przykładowej konfiguracji metodyki GitOps z dwoma elementami kustomization, aby zobaczyć, jak jedna kustomizacja może mieć zależność od innej. W zależności od scenariusza można dodać więcej kustomizacji i zależności.

Ważne

Rozszerzenie microsoft.flux wydało wersję główną 1.0.0. Obejmuje to funkcję wielodostępności. Jeśli masz istniejące konfiguracje usługi GitOps Flux v2 korzystające z poprzedniej microsoft.flux wersji rozszerzenia, możesz przeprowadzić uaktualnienie do najnowszego rozszerzenia ręcznie przy użyciu interfejsu wiersza polecenia platformy Azure: az k8s-extension create -g <RESOURCE_GROUP> -c <CLUSTER_NAME> -n flux --extension-type microsoft.flux -t <CLUSTER_TYPE> (użyj -t connectedClusters dla klastrów Usługi Arc i -t managedClusters klastrów usługi AKS).

Porada

W przypadku korzystania z tego rozszerzenia z klastrami hybrydowymi usługi AKS aprowizowanych z platformy Azure należy ustawić provisionedClusters użycie--cluster-type, a także dodać --cluster-resource-provider microsoft.hybridcontainerservice je do polecenia . Instalowanie rozszerzeń usługi Azure Arc w klastrach hybrydowych usługi AKS aprowidowanych z platformy Azure jest obecnie dostępne w wersji zapoznawczej.

Wymagania wstępne

Aby wdrożyć aplikacje przy użyciu metodyki GitOps z rozwiązaniem Flux v2, potrzebne są następujące elementy:

W przypadku klastrów Kubernetes z włączoną usługą Azure Arc

W przypadku klastrów Azure Kubernetes Service

  • Klaster usługi AKS oparty na tożsamości usługi ZARZĄDZANEj, który jest uruchomiony.

    Ważne

    Upewnij się, że klaster usługi AKS został utworzony przy użyciu tożsamości usługi zarządzanej (nie spN), ponieważ microsoft.flux rozszerzenie nie będzie działać z klastrami AKS opartymi na spN. W przypadku nowych klastrów usługi AKS utworzonych za pomocą programu az aks create klaster będzie domyślnie oparty na tożsamości usług zarządzanych. W przypadku już utworzonych klastrów opartych na nazwie SPN, które należy przekonwertować na tożsamość usługi zarządzanej, uruchom polecenie az aks update -g $RESOURCE_GROUP -n $CLUSTER_NAME --enable-managed-identity"". Aby uzyskać więcej informacji, zobacz Używanie tożsamości zarządzanej w usłudze AKS.

  • Uprawnienia do odczytu i zapisu dla Microsoft.ContainerService/managedClusters typu zasobu. Jeśli używasz klastrów hybrydowych usługi AKS aprowidowanych z platformy Azure (wersja zapoznawcza), uprawnienia do odczytu i zapisu dla Microsoft.ContainerService/provisionedClusters typu zasobu.

Wspólne dla obu typów klastrów

  • Uprawnienia do odczytu i zapisu dla tych typów zasobów:

    • Microsoft.KubernetesConfiguration/extensions
    • Microsoft.KubernetesConfiguration/fluxConfigurations
  • Interfejs wiersza polecenia platformy Azure w wersji 2.15 lub nowszej. Zainstaluj interfejs wiersza polecenia platformy Azure lub użyj następujących poleceń, aby zaktualizować do najnowszej wersji:

    az version
    az upgrade
    
  • Klient wiersza polecenia kubernetes, kubectl. kubectlprogram jest już zainstalowany, jeśli używasz usługi Azure Cloud Shell.

    Zainstaluj kubectl lokalnie przy użyciu az aks install-cli polecenia :

    az aks install-cli
    
  • Rejestracja następujących dostawców zasobów platformy Azure:

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

    Rejestracja jest procesem asynchronicznym i powinna zakończyć się w ciągu dziesięciu minut. Aby monitorować proces rejestracji, użyj następującego polecenia:

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

Obsługa wersji i regionów

Metodyka GitOps jest obecnie obsługiwana we wszystkich regionach obsługiwanych przez platformę Kubernetes z obsługą usługi Azure Arc. Usługa GitOps jest obecnie obsługiwana w podzestawie regionów obsługiwanych przez usługę AKS. Usługa GitOps dodaje nowe obsługiwane regiony w regularnych odstępach czasu.

Obsługiwana jest najnowsza wersja rozszerzenia Flux v2 i dwie poprzednie wersje (N-2). Zazwyczaj zalecamy używanie najnowszej wersji rozszerzenia.

Wymagania dotyczące sieci

Agenci GitOps wymagają do działania ruchu wychodzącego TCP do źródła repozytorium na porcie 22 (SSH) lub 443 (HTTPS). Agenci wymagają również dostępu do następujących adresów URL ruchu wychodzącego:

Punkt końcowy (DNS) Opis
https://management.azure.com Wymagany, aby agent mógł komunikować się z usługą konfiguracji Kubernetes.
https://<region>.dp.kubernetesconfiguration.azure.com Punkt końcowy płaszczyzny danych dla agenta umożliwiający wypychanie informacji o stanie i pobieranie informacji o konfiguracji. Zależy od <region> (obsługiwane regiony wymienione wcześniej).
https://login.microsoftonline.com Wymagany do pobierania i aktualizowania tokenów usługi Azure Resource Manager.
https://mcr.microsoft.com Wymagany do ściągania obrazów kontenerów dla kontrolerów Flux.

Włączanie rozszerzeń interfejsu wiersza polecenia

Zainstaluj najnowsze k8s-configuration pakiety rozszerzeń interfejsu k8s-extension wiersza polecenia:

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

Aby zaktualizować te pakiety do najnowszych wersji:

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

Aby wyświetlić listę wszystkich zainstalowanych rozszerzeń interfejsu wiersza polecenia platformy Azure i ich wersji, użyj następującego polecenia:

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

Porada

Aby uzyskać pomoc dotyczącą rozwiązywania wszelkich błędów, zobacz sugestie platformy Flux w wersji 2 w temacie Rozwiązywanie problemów z platformą Kubernetes z obsługą usługi Azure Arc i usługą GitOps.

Stosowanie konfiguracji platformy Flux

Użyj rozszerzenia interfejsu k8s-configuration wiersza polecenia platformy Azure (lub Azure Portal), aby włączyć usługę GitOps w klastrze Kubernetes z obsługą usługi AKS lub Arc. Na potrzeby pokazu użyj publicznego repozytorium gitops-flux2-kustomize-helm-mt .

Ważne

Repozytorium demonstracyjne zostało zaprojektowane tak, aby uprościć korzystanie z tego samouczka i zilustrować niektóre kluczowe zasady. Aby zachować aktualność, repozytorium może od czasu do czasu otrzymywać zmiany powodujące niezgodność z uaktualnieniami wersji. Te zmiany nie będą miały wpływu na nową aplikację tego samouczka, tylko poprzednie aplikacje samouczka, które nie zostały usunięte. Aby dowiedzieć się, jak obsłużyć te zmiany, zobacz zastrzeżenie dotyczące zmiany powodujące niezgodność.

Poniższy przykład stosuje konfigurację platformy Flux do klastra przy użyciu następujących wartości i ustawień:

  • Grupa zasobów zawierająca klaster to flux-demo-rg.
  • Nazwa klastra usługi Azure Arc to flux-demo-arc.
  • Typ klastra to Azure Arc (), ale w tym przykładzie działa również usługa AKS (-t connectedClusters-t managedClusters) i klastry hybrydowe usługi AKS aprowizowane z platformy Azure (-t provisionedClusters).
  • Nazwa konfiguracji platformy Flux to cluster-config.
  • Przestrzeń nazw instalacji konfiguracji to cluster-config.
  • Adres URL publicznego repozytorium Git to https://github.com/Azure/gitops-flux2-kustomize-helm-mt.
  • Gałąź repozytorium Git to main.
  • Zakres konfiguracji to cluster. Daje to operatorom uprawnienia do wprowadzania zmian w klastrze. Aby użyć namespace zakresu w tym samouczku, zobacz wymagane zmiany.
  • Dwie kustomizacji są określane z nazwami infra i apps. Każda z nich jest skojarzona ze ścieżką w repozytorium.
  • Kustomizacja apps zależy od infra kustomizacji. (Kustomizacja infra musi zakończyć się przed uruchomieniem apps kustomizacji).
  • Ustaw prune=true dla obu kustomizations. To ustawienie zapewnia, że obiekty wdrożone w klastrze flux zostaną wyczyszczone, jeśli zostaną usunięte z repozytorium lub jeśli konfiguracja platformy Flux lub kustomizations zostaną usunięte.
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"\]

Rozszerzenie microsoft.flux zostanie zainstalowane w klastrze (jeśli nie zostało jeszcze zainstalowane z powodu poprzedniego wdrożenia usługi GitOps).

Gdy konfiguracja strumienia jest najpierw zainstalowana, początkowy stan zgodności może być Pending lub Non-compliant dlatego, że uzgadnianie nadal trwa. Po upływie minuty wykonaj ponownie zapytanie o konfigurację, aby zobaczyć ostateczny stan zgodności.

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

Aby potwierdzić, że wdrożenie zakończyło się pomyślnie, uruchom następujące polecenie:

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

Po pomyślnym wdrożeniu tworzone są następujące przestrzenie nazw:

  • flux-system: przechowuje kontrolery rozszerzenia Flux.
  • cluster-config: przechowuje obiekty konfiguracji Flux.
  • nginx, , podinforedis: przestrzenie nazw dla obciążeń opisanych w manifestach w repozytorium Git.

Aby potwierdzić przestrzenie nazw, uruchom następujące polecenie:

kubectl get namespaces

flux-system Przestrzeń nazw zawiera obiekty rozszerzenia Flux:

  • Kontrolery platformy Azure Flux: fluxconfig-agent, fluxconfig-controller
  • Kontrolery flux systemu operacyjnego: source-controller, kustomize-controller, helm-controllernotification-controller

Zasobniki agenta i kontrolera flux powinny znajdować się w stanie uruchomienia. Potwierdź to przy użyciu następującego polecenia:

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

Przestrzeń nazw cluster-config zawiera obiekty konfiguracji platformy Flux.

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

Potwierdź inne szczegóły konfiguracji przy użyciu następujących poleceń.

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

Obciążenia są wdrażane z manifestów w repozytorium Git.

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

Kontrolowanie, które kontrolery są wdrażane za pomocą rozszerzenia klastra Flux

W niektórych scenariuszach warto zmienić, które kontrolery Flux są instalowane z rozszerzeniem klastra Flux.

Kontrolery source, helm, kustomizei notification Flux są instalowane domyślnie. Kontroleryimage-automation i image-reflectorużywane do aktualizowania repozytorium Git, gdy są dostępne nowe obrazy kontenerów, muszą być jawnie włączone.

Możesz użyć polecenia , k8s-extension aby zmienić opcje domyślne:

  • --config source-controller.enabled=<true/false> (wartość domyślna true)
  • --config helm-controller.enabled=<true/false> (wartość domyślna true)
  • --config kustomize-controller.enabled=<true/false> (wartość domyślna true)
  • --config notification-controller.enabled=<true/false> (wartość domyślna true)
  • --config image-automation-controller.enabled=<true/false> (wartość domyślna false)
  • --config image-reflector-controller.enabled=<true/false> (wartość domyślna false)

Na przykład aby wyłączyć powiadomienia, można ustawić notification-controller.enabled wartość false.

To przykładowe polecenie instaluje image-reflector kontrolery i.image-automation Jeśli rozszerzenie Flux zostało utworzone automatycznie po utworzeniu konfiguracji platformy Flux, nazwa rozszerzenia to flux.

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

Używanie tożsamości Kubelet jako metody uwierzytelniania dla klastrów usługi AKS

Podczas pracy z klastrami usługi AKS jedną z opcji uwierzytelniania do użycia jest tożsamość kubelet. Domyślnie usługa AKS tworzy własną tożsamość kubelet w zarządzanej grupie zasobów. Jeśli wolisz, możesz użyć wstępnie utworzonej tożsamości zarządzanej kubelet. W tym celu dodaj parametr --config useKubeletIdentity=true w momencie instalacji rozszerzenia Flux.

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

Wskazówki dotyczące dołączania red Hat OpenShift

Kontrolery flux wymagają ograniczenia kontekstu zabezpieczeńniekorzystnego, aby prawidłowo aprowizować zasobniki w klastrze. Te ograniczenia należy dodać do klastra przed dołączaniem microsoft.flux rozszerzenia.

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

Aby uzyskać więcej informacji na temat wskazówek dotyczących dołączania platformy Flux, zapoznaj się z dokumentacją platformy Flux.

Praca z parametrami

Platforma Flux obsługuje wiele parametrów, aby umożliwić różne scenariusze. Opis wszystkich parametrów obsługiwanych przez platformę Flux można znaleźć w oficjalnej dokumentacji platformy Flux. Platforma Flux na platformie Azure nie obsługuje jeszcze wszystkich parametrów. Poinformuj nas, czy w implementacji platformy Azure brakuje parametru.

Aby uzyskać więcej informacji na temat dostępnych parametrów i sposobu ich używania, zobacz GitOps Flux v2 configurations with AKS and Azure Arc-enabled Kubernetes (Konfiguracje usługi GitOps Flux w wersji 2 z usługami AKS i Kubernetes z obsługą usługi Azure Arc).

Zarządzanie konfiguracją klastra przy użyciu kontrolera Flux Kustomize

Kontroler Flux Kustomize jest instalowany w ramach rozszerzenia klastramicrosoft.flux. Umożliwia ona deklaratywne zarządzanie konfiguracją klastra i wdrażaniem aplikacji przy użyciu manifestów platformy Kubernetes synchronizowanych z repozytorium Git. Te manifesty kubernetes mogą opcjonalnie zawierać plik kustomize.yaml .

Aby uzyskać szczegółowe informacje o użyciu, zobacz następujące kwestie:

Zarządzanie wydaniami wykresów programu Helm przy użyciu kontrolera Flux Helm

Kontroler Programu Helm platformy Flux jest instalowany w ramach rozszerzenia klastra microsoft.flux . Umożliwia deklaratywne zarządzanie wydaniami wykresów helm za pomocą manifestów platformy Kubernetes, które są obsługiwane w repozytorium Git.

Aby uzyskać szczegółowe informacje o użyciu, zobacz następujące kwestie:

Porada

Ze względu na sposób obsługi plików indeksu przez program Helm przetwarzanie wykresów helm jest kosztowną operacją i może mieć bardzo duże zużycie pamięci. W rezultacie uzgadnianie dużej liczby wykresów programu Helm jednocześnie może spowodować skoki pamięci i OOMKilled błędy. Domyślnie kontroler ustawia limit pamięci na 1Gi i żądania pamięci na 64Mi. Aby zwiększyć ten limit i żądania z powodu dużej liczby dużych uzgodnień wykresu programu Helm, uruchom następujące polecenie po zainstalowaniu rozszerzenia 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

Używanie źródła repozytorium Git dla wykresów programu Helm

Jeśli wykresy programu Helm są przechowywane w GitRepository źródle skonfigurowanym jako część fluxConfigurations zasobu, możesz wskazać, że skonfigurowane źródło powinno być używane jako źródło wykresów helm przez dodanie clusterconfig.azure.com/use-managed-source: "true" do pliku HelmRelease.yaml, jak pokazano w poniższym przykładzie:

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

Korzystając z tej adnotacji, wdrożona funkcja HelmRelease zostanie poprawiona przy użyciu odwołania do skonfigurowanego źródła. Obecnie obsługiwane jest tylko GitRepository źródło.

Usuwanie konfiguracji i rozszerzenia platformy Flux

Użyj następujących poleceń, aby usunąć konfigurację platformy Flux i, w razie potrzeby, rozszerzenie Flux.

Usuwanie konfiguracji platformy Flux

Poniższe polecenie usuwa zarówno fluxConfigurations zasób na platformie Azure, jak i obiekty konfiguracji platformy Flux w klastrze. Ponieważ konfiguracja platformy Flux została pierwotnie utworzona przy użyciu parametru prune=true kustomization, wszystkie obiekty utworzone w klastrze na podstawie manifestów w repozytorium Git zostaną usunięte po usunięciu konfiguracji platformy Flux. To polecenie nie usuwa jednak samego rozszerzenia Flux.

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

Usuwanie rozszerzenia klastra Flux

Usunięcie rozszerzenia Flux spowoduje usunięcie zarówno microsoft.flux zasobu rozszerzenia na platformie Azure, jak i obiektów rozszerzenia Flux w klastrze.

Jeśli rozszerzenie Flux zostało utworzone automatycznie po utworzeniu konfiguracji platformy Flux, nazwa rozszerzenia to flux.

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

Porada

Te polecenia używają metody -t connectedClusters, która jest odpowiednia dla klastra Kubernetes z obsługą usługi Azure Arc. W przypadku klastra usługi AKS użyj zamiast tego.-t managedClusters W przypadku klastrów hybrydowych usługi AKS aprowizowanych z platformy Azure użyj polecenia -t provisionedClusters.