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
Połączony klaster Kubernetes z włączoną usługą Azure Arc, który jest uruchomiony.
Dowiedz się, jak połączyć klaster Kubernetes z usługą Azure Arc. Jeśli musisz nawiązać połączenie za pośrednictwem serwera proxy ruchu wychodzącego, upewnij się, że zainstalujesz agentów usługi Arc z ustawieniami serwera proxy.
Uprawnienia do odczytu i zapisu dla
Microsoft.Kubernetes/connectedClusters
typu zasobu.
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ą programuaz 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 polecenieaz 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 dlaMicrosoft.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.
kubectl
program jest już zainstalowany, jeśli używasz usługi Azure Cloud Shell.Zainstaluj
kubectl
lokalnie przy użyciuaz 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
iapps
. Każda z nich jest skojarzona ze ścieżką w repozytorium. - Kustomizacja
apps
zależy odinfra
kustomizacji. (Kustomizacjainfra
musi zakończyć się przed uruchomieniemapps
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
, ,podinfo
redis
: 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-controller
notification-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
, kustomize
i notification
Flux są instalowane domyślnie. Kontroleryimage-automation
i image-reflector
uż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ślnatrue
)--config helm-controller.enabled=<true/false>
(wartość domyślnatrue
)--config kustomize-controller.enabled=<true/false>
(wartość domyślnatrue
)--config notification-controller.enabled=<true/false>
(wartość domyślnatrue
)--config image-automation-controller.enabled=<true/false>
(wartość domyślnafalse
)--config image-reflector-controller.enabled=<true/false>
(wartość domyślnafalse
)
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:
- Kontroler Kustomize strumienia
- Dokumenty referencyjne kustomize
- Plik kustomizacji
- Projekt Kustomize
- Przewodniki Kustomize
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:
- Flux dla użytkowników programu Helm
- Zarządzanie wersjami programu Helm
- Migrowanie do programu Helm flux w wersji 2 z programu Helm w wersji 1
- Kontroler Flux Helm
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
.