教學課程:使用 GitOps 搭配 Flux v2 部署應用程式

本教學課程說明如何在 Kubernetes 叢集中使用 GitOps。 已啟用 Flux v2 的 GitOps 會在已啟用 Azure Arc 的 Kubernetes 叢集或 Azure Kubernetes Service (AKS) 叢集中啟用為 叢集擴充 功能。 microsoft.flux安裝叢集擴充功能之後,您可以建立一或多個fluxConfigurations資源,將 Git 存放庫來源同步至叢集,並將叢集協調至所需的狀態。 透過 GitOps,您可以使用 Git 存放庫作為叢集組態和應用程式部署的真相來源。

在本教學課程中,我們會使用具有兩 個 kustomization 的 GitOps 組態範例,讓您可以查看一個 kustomization 如何相依於另一個 kustomization。 視您的案例而定,您可以視需要新增更多 kustomization 和相依性。

在深入探討之前,請花點時間瞭解 GitOps 與 Flux 在概念上的運作方式。

提示

雖然本教學課程中的來源是 Git 存放庫,但 Flux 也支援其他常見的檔案來源,例如 Helm 存放庫、貯體和 Azure Blob 儲存體。

您也可以使用 Bicep、ARM 範本或 Terraform AzAPI 提供者來建立 Flux 組態。 如需詳細資訊,請參閱 Microsoft.KubernetesConfiguration fluxConfigurations

重要

擴充 microsoft.flux 功能已發行主要 1.0.0 版。 這包括 多租使用者功能。 如果您有使用舊版 microsoft.flux 擴充功能的現有 GitOps Flux v2 組態,您可以使用 Azure CLI 手動升級至 最新版本az k8s-extension create -g <RESOURCE_GROUP> -c <CLUSTER_NAME> -n flux --extension-type microsoft.flux -t <CLUSTER_TYPE>-t connectedClusters 用於 Arc 叢集和 -t managedClusters AKS 叢集)。

必要條件

若要使用 GitOps 搭配 Flux v2 部署應用程式,您需要:

針對已啟用 Azure Arc 的 Kubernetes 叢集

  • 已啟用 Azure Arc 的 Kubernetes 連線叢集已啟動並執行。 從 1.7.0 版開始microsoft.flux,支援 ARM64 型叢集。

    瞭解如何將 Kubernetes 叢集連線至 Azure Arc。如果您需要透過輸出 Proxy 進行連線,請確定您使用 Proxy 設定來安裝 Arc 代理程式。

  • Microsoft.Kubernetes/connectedClusters 資源類型的讀取和寫入權限。

針對 Azure Kubernetes Service 叢集

  • MSI 型 AKS 叢集已啟動並執行。

    重要

    確定 AKS 叢集是使用 MSI 建立的(不是 SPN),因為 microsoft.flux 擴充功能不適用於以 SPN 為基礎的 AKS 叢集。 針對使用 az aks create 所建立的新 AKS 叢集,叢集預設會是 MSI 型叢集。 針對已建立需要轉換成 MSI 的 SPN 型叢集,請執行 az aks update -g $RESOURCE_GROUP -n $CLUSTER_NAME --enable-managed-identity。 如需詳細資訊,請參閱 在 AKS 中使用受控識別。

  • Microsoft.ContainerService/managedClusters 資源類型的讀取和寫入權限。

這兩種叢集類型的常見

  • 這些資源類型的讀取與寫入權限:

    • Microsoft.KubernetesConfiguration/extensions
    • Microsoft.KubernetesConfiguration/fluxConfigurations
  • Azure CLI 2.15 版或更新版本。 安裝 Azure CLI 或使用下列命令來更新為最新版本:

    az version
    az upgrade
    
  • Kubernetes 命令行用戶端 kubectlkubectl 如果您使用 Azure Cloud Shell,則已安裝 。

    使用 命令在本機az aks install-cli安裝kubectl

    az aks install-cli
    
  • 註冊下列 Azure 資源提供者:

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

    註冊是非同步程序,並且應該在 10 分鐘內完成。 若要監視註冊程式,請使用下列命令:

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

版本和區域支援

已啟用 Azure Arc 的 Kubernetes 支援的所有區域目前都支援 GitOps。 AKS 所支援的區域子集目前支援 GitOps。 GitOps 服務會定期新增支持的區域。

支援最新版的 Flux v2 延伸模組和兩個舊版 (N-2)。 我們通常建議您使用最新版本的擴充功能。

網路需求

GitOps 代理程式需要連接埠 22 (SSH) 或連接埠 443 (HTTPS) 上存放庫來源的輸出 TCP 才能運作。 代理程式也需要存取下列輸出 URL:

端點 (DNS) 描述
https://management.azure.com 代理程式與 Kubernetes 設定服務通訊的必要項目。
https://<region>.dp.kubernetesconfiguration.azure.com 代理程式的資料平面端點,用來推送狀態以及擷取設定資訊。 取決於 <region> (先前所述的支援區域)。
https://login.microsoftonline.com 擷取和更新 Azure Resource Manager 權杖的必要項目。
https://mcr.microsoft.com 提取 Flux 控制器的容器映像的必要項目。

啟用 CLI 擴充功能

安裝最新的 k8s-configurationk8s-extension CLI 擴充功能套件:

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

若要將這些套件更新為最新版本:

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

若要查看所有已安裝的 Azure CLI 延伸模組及其版本的清單,請使用下列命令:

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

提示

如需解決任何錯誤的說明,請參閱針對已啟用 Azure Arc 的 Kubernetes 叢集的擴充功能問題進行疑難解答的 GitOps (Flux v2) 一節。

套用 Flux 設定

k8s-configuration使用 Azure CLI 擴充功能或 Azure 入口網站,在 AKS 或已啟用 Arc 的 Kubernetes 叢集中啟用 GitOps。 如需示範,請使用公用 gitops-flux2-kustomize-helm-mt 存放庫。

重要

示範存放庫旨在簡化您本教學課程的使用,並說明一些主要原則。 若要保持最新狀態,存放庫可能會偶爾從版本升級取得重大變更。 這些變更不會影響您本教學課程的新應用程式,只有先前尚未刪除的教學課程應用程式。 若要瞭解如何處理這些變更,請參閱 重大變更免責聲明

下列範例會使用 az k8s-configuration create 命令,使用下列值和設定,將 Flux 組態套用至叢集:

  • 包含叢集的資源群組為 flux-demo-rg
  • Azure Arc 叢集的名稱是 flux-demo-arc
  • 叢集類型為 Azure Arc (-t connectedClusters),但此範例也適用於 AKS (-t managedClusters)。
  • Flux 組態的名稱為 cluster-config
  • 組態安裝的命名空間為 cluster-config
  • 公用 Git 存放庫的網址為 https://github.com/Azure/gitops-flux2-kustomize-helm-mt
  • Git 存放庫分支為 main
  • 組態的範圍是 cluster。 此範圍可讓操作員在叢集中進行變更。 若要搭配本教學課程使用 namespace 範圍, 請參閱所需的變更。
  • 使用名稱和 infraapps來指定兩個 kustomization。 每個都與存放庫中的路徑相關聯。
  • apps kustomization 取決於 infra kustomization。 infra(kustomization 必須在 kustomization 執行之前apps完成。
  • 在兩個 kustomization 上設定 prune=true 。 此設定可確保從存放庫移除 Flux 部署至叢集的物件,或如果已刪除 Flux 組態或 kustomization,則會清除它們。
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"\]

延伸 microsoft.flux 模組會安裝在叢集上(如果尚未在先前的 GitOps 部署中安裝)。

提示

az k8s-configuration create命令會將microsoft.flux擴充功能部署至叢集,並建立組態。 在某些情況下,您可能想要在建立組態資源之前,個別建立 flux 擴充實例。 若要這樣做,請使用 az k8s-extension create 命令在 叢集上建立擴充功能的實例。

第一次安裝 flux 組態時,初始合規性狀態可能是 PendingNon-compliant 因為對帳仍在進行中。 一分鐘左右之後,請再次查詢組態,以查看最終的合規性狀態。

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

若要確認部署成功,請執行下列命令:

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

成功部署後,會建立下列命名空間:

  • flux-system:保存 Flux 擴充控制器。
  • cluster-config:保存 Flux 組態物件。
  • nginx、 、 podinforedisGit 存放庫中指令清單中所述之工作負載的命名空間。

若要確認命名空間,請執行下列命令:

kubectl get namespaces

命名空間 flux-system 包含 Flux 擴充物件:

  • Azure Flux 控制器: fluxconfig-agentfluxconfig-controller
  • OSS Flux 控制器:source-controller、、helm-controllerkustomize-controllernotification-controller

Flux 代理程式和控制器 Pod 應該處於執行中狀態。 使用下列命令確認這一點:

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

命名空間 cluster-config 具有 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

使用下列命令確認組態的其他詳細數據。

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

工作負載會從 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

控制使用 Flux 叢集擴充功能部署哪些控制器

在某些情況下,您可能想要變更哪些 Flux 控制器是隨 Flux 叢集延伸模組一起安裝的。

source預設會安裝、 helmkustomizenotification Flux 控制器。 image-automation必須明確啟用新的容器映射時,用來更新 Git 存放庫的 和 image-reflector 控制器

您可以使用 k8s-extension 命令來變更預設選項:

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

例如,若要停用通知,您可以將 設定 notification-controller.enabledfalse

這個範例命令會 image-reflector 安裝和 image-automation 控制器。 如果在第一次建立 Flux 組態時自動建立 Flux 延伸模組,則延伸模組名稱會是 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

使用 Kubelet 身分識別作為 AKS 叢集的驗證方法

針對 AKS 叢集,其中一個要使用的驗證選項是 kubelet 身分識別。 根據預設,AKS 會在受控資源群組中建立自己的 kubelet 身分識別。 如果您想要的話,您可以使用 預先建立的 kubelet 受控識別。 若要這樣做,請在 Flux 擴充功能安裝時新增 參數 --config useKubeletIdentity=true

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

Red Hat OpenShift 上線指引

Flux 控制器需要 非根安全性內容條件約束 ,才能在叢集上正確布建 Pod。 在擴充功能上線 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

如需有關將 Flux 上線之 OpenShift 指引的詳細資訊,請參閱 Flux 檔

使用參數

Flux 支援許多參數來啟用各種案例。 如需 Flux 支援的所有參數的描述,請參閱 官方 Flux 檔。 Azure 中的 Flux 尚不支援所有參數。 讓我們知道 Azure 實作中是否有您需要的參數。

如需可用參數及其使用方式的相關信息,請參閱 GitOps (Flux v2) 支援的參數

使用 Flux Kustomize 控制器管理叢集設定

Flux Kustomize 控制器會安裝為叢集延伸模組的microsoft.flux一部分。 它允許使用從 Git 存放庫同步的 Kubernetes 指令清單,對叢集組態和應用程式部署進行宣告式管理。 這些 Kubernetes 指令清單可以選擇性地包含 kustomize.yaml 檔案。

如需使用量詳細數據,請參閱下列資源:

使用 Flux Helm 控制器管理 Helm 圖表版本

Flux Helm 控制器會安裝為叢集擴充功能的 microsoft.flux 一部分。 它可讓您使用您在 Git 存放庫中維護的 Kubernetes 指令清單,以宣告方式管理 Helm 圖表版本。

如需使用量詳細數據,請參閱下列資源:

提示

由於 Helm 如何處理索引檔案,因此處理 Helm 圖表是一項昂貴的作業,而且記憶體使用量很高。 因此,一次調和大量的 Helm 圖表可能會導致記憶體尖峰和 OOMKilled 錯誤。 根據預設,控制器會將其記憶體限制設定為 1Gi,並將記憶體要求設定為 64Mi。 若要由於大量大型 Helm 圖表對帳而增加此限制和要求,請在安裝 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

使用 Helm 圖表的 GitRepository 來源

如果您的 Helm 圖表儲存在您 GitRepository 設定為資源一 fluxConfigurations 部分的來源中,您可以藉由將 新增 clusterconfig.azure.com/use-managed-source: "true" 至 HelmRelease.yaml 檔案,來指出所設定的來源應該作為 Helm 圖表的來源,如下列範例所示:

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

當您使用此批注時,已部署的 HelmRelease 會使用所設定來源的參考進行修補。 目前僅 GitRepository 支援來源。

Helm 漂移偵測

Helm 版本的 漂移偵測預設不會啟用。 從 microsoft.flux v1.7.5 開始,您可以執行下列命令來啟用 Helm 漂移偵測:

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 監看式

microsoft.flux v1.7.5 開始,您可以啟用 Helm OOM 監看式。 如需詳細資訊,請參閱 啟用 OOM 偵測附近的 Helm。

請務必檢閱潛在的 補救策略 ,並在啟用此功能時視需要加以套用。

若要啟用 OOM 監看,請執行下列命令:

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

如果您未指定 和outOfMemoryWatch的值memoryThreshold,預設記憶體閾值會設定為 95%,而檢查記憶體使用率設定為 500 毫秒的間隔。

AKS 叢集中的工作負載身分識別

microsoft.flux v1.8.0 開始,您可以在已啟用工作負載識別的 AKS 叢集中建立 Flux 設定。 若要這樣做,請修改 flux 延伸模組,如下列步驟所示。

  1. 擷取叢集的 OIDC 簽發者 URL

  2. 建立 受控識別 並記下其用戶端標識碼。

  3. 使用下列命令在叢集上建立 flux 擴充功能:

    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. 建立 同盟身分識別認證。 例如:

    # 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. 請確定需要使用工作負載身分識別的自訂資源已在指令清單中將 值設定 .spec.providerazure 。 例如:

    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. 請務必為您想要提取source-controller或image-reflector 控制器的資源提供適當的工作負載身分識別許可權。 例如,如果使用 Azure Container Registry, AcrPull 則需要許可權。

刪除 Flux 組態和擴充功能

使用下列命令來刪除 Flux 組態,並視需要刪除 Flux 擴充功能本身。

刪除 Flux 組態

下列命令會 fluxConfigurations 刪除 Azure 中的資源,以及叢集中的 Flux 組態物件。 由於 Flux 組態原本是使用 prune=true kustomization 的參數所建立,因此移除 Flux 組態時,會移除以 Git 存放庫中指令清單為基礎的叢集中建立的所有物件。 不過,此命令不會移除 Flux 延伸模組本身。

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

刪除 Flux 叢集延伸模組

當您刪除 Flux 擴充功能時, microsoft.flux 會移除 Azure 中的延伸模組資源,以及叢集中的 Flux 延伸模組物件。

重要

刪除 Flux 擴充功能之前,請務必刪除叢集中的所有 Flux 組態。 刪除擴充功能而不先刪除 Flux 組態可能會使叢集處於不穩定狀態。

如果在第一次建立 Flux 組態時自動建立 Flux 延伸模組,則延伸模組名稱為 flux

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

提示

這些命令會使用 -t connectedClusters適用於已啟用 Azure Arc 的 Kubernetes 叢集。 針對 AKS 叢集,請改用 -t managedClusters

下一步