您通過訪問ACK One Fleet執行個體使用應用分發功能時,需要定義應用分發的目的地組群。ACK One支援通過關聯集群ID和給關聯集群打標的方式選擇目的地組群,本文介紹如何通過這兩種方式選擇應用分發的目的地組群。
前提條件
已開啟艦隊管理功能。具體操作,請參見開啟艦隊管理功能。
艦隊的Fleet執行個體已添加2個關聯集群(服務提供者叢集、服務消費者叢集)。具體操作,請參見添加關聯集群。
已從ACK One控制台擷取Fleet執行個體的KubeConfig,並通過kubectl串連至Fleet執行個體。
已安裝AMC命令列工具。具體操作,請參見AMC命令列協助。
方式一:通過關聯集群ID選擇目的地組群
執行以下命令,查看Fleet執行個體管理的關聯集群,擷取叢集的名稱。
kubectl get managedclusters預期輸出:
NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE managedcluster-c5***z9 true True True 12d managedcluster-c1***e5 true True True 12d使用以下內容,建立
Policy。替換如下樣本中的
<clusterid1>為待發布的目的地組群ID。apiVersion: core.oam.dev/v1alpha1 kind: Policy metadata: name: cluster-beijing namespace: demo type: topology properties: clusters: ["<clusterid1>"] # 定義分發的目的地組群,如需分發多個叢集格式為clusters: ["<clusterid1>", "<clusterid2>"...]參數
說明
type: topologyTopology類型的Policy定義了應用資源的下發目標。
Override類型的Policy定義了應用分發的差異化配置。
properties. clusters支援通過關聯集群ID定義下發目標,一個下發目標可以包含一個或多個叢集。
方式二:通過給關聯集群打標選擇目的地組群
執行以下命令,查看Fleet執行個體管理的關聯集群,擷取叢集的名稱。
kubectl get managedclusters預期輸出:
NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE managedcluster-c5***z9 true True True 12d managedcluster-c1***e5 true True True 12d執行以下命令,為關聯集群打標。
替換
<clusterid>為需要打標的關聯集群ID,替換env=production1為您的標籤名稱和值。kubectl label managedclusters <clusterid> env=production1使用以下內容,建立
Policy,通過clusterSelector選擇待發布的目的地組群。替換
env:production1為您的標籤名稱和值。apiVersion: core.oam.dev/v1alpha1 kind: Policy metadata: name: cluster-test namespace: demo type: topology properties: clusterSelector: env:production1 # 標籤名稱和值,如需分發多個叢集可將不同標籤名稱和值在下面增加。參數
說明
type: topologyTopology類型的Policy定義了應用資源的下發目標。
Override類型的Policy定義了應用分發的差異化配置。
properties: clusterSelector標籤選取器。通過標籤從managedclusters中選擇目的地組群,可以包含一個或多個叢集。