From 7850531d35cf6f7f28cd02b733c160379aabbc5f Mon Sep 17 00:00:00 2001 From: Lan Luo Date: Wed, 1 Jun 2022 12:09:48 +0800 Subject: [PATCH] Update example ClusterSet SVG for Multi-cluster quick-start Add a quick start guide. Update the user guide with Multi-cluster Gateway. Signed-off-by: Lan Luo Signed-off-by: Jianjun Shen --- .../multicluster/assets/sample-clusterset.svg | 934 ++++++++++-------- docs/multicluster/quick-start.md | 75 +- docs/multicluster/user-guide.md | 118 +-- .../multicluster_membercluster_template.yaml | 1 + 4 files changed, 627 insertions(+), 501 deletions(-) diff --git a/docs/multicluster/assets/sample-clusterset.svg b/docs/multicluster/assets/sample-clusterset.svg index 78b2b95c0a7..0c30571190c 100644 --- a/docs/multicluster/assets/sample-clusterset.svg +++ b/docs/multicluster/assets/sample-clusterset.svg @@ -1,25 +1,32 @@ - - - + inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)" + sodipodi:docname="sample-clusterset.svg"> + + + + image/svg+xml + + + + + + fit-margin-right="2" + fit-margin-bottom="2" + inkscape:lockguides="true" + inkscape:document-rotation="0" + inkscape:snap-text-baseline="true" + showguides="false" + showborder="true" + inkscape:showpageshadow="false" + borderlayer="false" /> + transform="translate(-11.991633,-22.453141)" + style="display:inline"> + + + node-a1 + + node-a2 + Cluster A (leader & member) + + + node-b1 + + node-b2 + Cluster B (member) + ID: test-cluster-leader + ID: test-cluster-member + + antrea-agent + kube-system + + antrea-agent + kube-system + + antrea-agent + kube-system + + mc-controller + antrea-multicluster + + antrea-agent + kube-system + + tunnel + + mc-controller + kube-system + + mc-controller + kube-system - - - node-a - - node-a1 - Cluster A - - - node-b - - node-b1 - Cluster B - ID: test-cluster-leader + id="g370" + transform="translate(-12.038541,-6.6145833)"> ID: test-cluster-member - - - mc-controller - kube-system - - - - antrea-agent - kube-system - - - - antrea-agent - kube-system - - - - antrea-agent - kube-system - - - mc-controller - kube-system - - mc-controller - antrea-multicluster - - - - antrea-agent - kube-system - - tunnel + x="71.13208" + y="83.381966">API Server:172.10.0.11 + + (MC Gateway) + (MC Gateway) + + (member) + (leader) + (member) + + ClusterSetID: test-clusterset diff --git a/docs/multicluster/quick-start.md b/docs/multicluster/quick-start.md index f9739c3d57f..0213583cd73 100644 --- a/docs/multicluster/quick-start.md +++ b/docs/multicluster/quick-start.md @@ -1,30 +1,33 @@ # Antrea Multi-cluster Quick Start -In this quick start guide, we will set up an Antrea Multi-cluster ClusterSet with -two clusters. One cluster will serve as both the leader and a member cluster, -while another cluster will be a member only. The diagram belows shows the two -clusters and the ClusterSet to be created. +In this quick start guide, we will set up an Antrea Multi-cluster ClusterSet +with two clusters. One cluster will serve as the leader of the ClusterSet, and +meanwhile also join as a member cluster; another cluster will be a member only. -Antrea Multi-cluster Sample ClusterSet +The diagram below shows the two clusters and the ClusterSet to be created (for +simplicity, the diagram just shows two Nodes for each cluster). + +Antrea Multi-cluster Example ClusterSet ## Preparation -We assume an Antrea version >= v1.7.0 is used in this guide, and the Antrea +We assume an Antrea version >= `v1.7.0` is used in this guide, and the Antrea version is set to an environment variable `TAG`. For example, the following -command sets the Antrea version to v1.7.0. +command sets the Antrea version to `v1.7.0`. ```bash export TAG=v1.7.0 ``` To use the latest version of Antrea Multi-cluster from the Antrea main branch, -you can change the YAML manifest path to: https://github.com/antrea-io/antrea/tree/main/multicluster/build/yamls/. +you can change the YAML manifest path to: `https://github.com/antrea-io/antrea/tree/main/multicluster/build/yamls/` +when applying or downloading an Antrea YAML manifest. Antrea must be deployed in both cluster A and cluster B. To configure Antrea -Multi-cluster Gateways, `antrea-agent` must be deployed with the `Multicluster` +Multi-cluster Gateways, the `Multicluster` feature of `antrea-agent` must be feature enabled in both cluster A and B. Multi-cluster Gateways are required for -routing multi-cluster Service traffic through tunnels across the member -clusters. Set the following options in `antrea-agent.conf` of the Antrea +routing multi-cluster Service traffic across the member clusters. Set the +following configuration parameters in `antrea-agent.conf` of the Antrea deployment manifest to enable the `Multicluster` feature: ```yaml @@ -43,25 +46,27 @@ antrea-agent.conf: | ### Step 1 - deploy Antrea Multi-cluster Controllers for leader and member -Run the following commands to deploy Multi-cluster Controller for the member -Namepsace `kube-system`, and Multi-cluster Controller for the leader into -Namespace `antrea-multicluster` (Namespace `antrea-multicluster` will be created -by the commands): +Run the following commands to deploy Multi-cluster Controller for the leader +into Namespace `antrea-multicluster` (Namespace `antrea-multicluster` will be +created by the commands), and Multi-cluster Controller for the member into +Namepsace `kube-system`. ```bash -$kubectl apply -f https://github.com/antrea-io/antrea/releases/download/$TAG/antrea-multicluster-member.yml $kubectl apply -f https://github.com/antrea-io/antrea/releases/download/$TAG/antrea-multicluster-leader-global.yml +$kubectl apply -f https://github.com/antrea-io/antrea/releases/download/$TAG/antrea-multicluster-member.yml $kubectl create ns antrea-multicluster $curl -L https://github.com/antrea-io/antrea/releases/download/$TAG/antrea-multicluster-leader-namespaced.yml > antrea-multicluster-leader-namespaced.yml $sed 's/changeme/antrea-multicluster/g' antrea-multicluster-leader-namespaced.yml | kubectl apply -f - +$kubectl apply -f https://github.com/antrea-io/antrea/releases/download/$TAG/antrea-multicluster-member.yml ``` ### Step 2 - initialize ClusterSet -We provide several template files to set up a ClusterSet quicker. You can run -the following commands to create a ClusterSet named `test-clusterset` and obtain -a ServiceAccount token for the member clusters (both cluster A and B in this -guide) to access the leader cluster (cluster A in this guide). +Antrea provides several template YAML manifests to set up a ClusterSet quicker. +You can run the following commands that use the template manifests to create a +ClusterSet named `test-clusteraset` in the leader cluster and get a +ServiceAccount token for the member clusters (both cluster A and B in our case) +to access the leader cluster (cluster A in our case) apiserver. ```bash $kubectl apply -f https://raw.githubusercontent.com/antrea-io/antrea/$TAG/multicluster/config/samples/clusterset_init/multicluster_clusterset_template.yaml @@ -71,10 +76,10 @@ $kubectl get secret leader-access-token -n antrea-multicluster -o yaml | grep -w The last command saves the ServiceAccount token to `leader-access-token.yml` which will be needed for member clusters to join the ClusterSet. Note, in this -guide, we use a pre-defined ServiceAccount `antrea-mc-member-access-sa` for all -member clusters. If you want to create a separate ServiceAccount for each member -cluster for security considerations, you can follow the instructions in the -[Multi-cluster User Guide](user-guide.md#set-up-access-to-leader-cluster). +guide, we use a shared default ServiceAccount `antrea-mc-member-access-sa` for +all member clusters. If you want to create a separate ServiceAccount for each +member cluster for security considerations, you can follow the instructions in +the [Multi-cluster User Guide](user-guide.md#set-up-access-to-leader-cluster). Next, run the following commands to make cluster A join the ClusterSet also as a member: @@ -96,13 +101,13 @@ Gateway Node, so a tunnel can be created between the two Gateways. For more information about Multi-cluster Gatweay, please refer to the [Multi-cluster User Guide](user-guide.md#multi-cluster-gateway-configuration). -Assuming K8s Node `node-a` is chosen to be the Multi-cluster Gateway, run +Assuming K8s Node `node-a1` is selected for the Multi-cluster Gateway, run the following command to annotate the Node with `multicluster.antrea.io/gateway=true` (so Antrea can know it is the Gateway Node from the annotation): ```bash -$kubectl annotate node node-a multicluster.antrea.io/gateway=true +$kubectl annotate node node-a1 multicluster.antrea.io/gateway=true ``` ## Set up Cluster B @@ -110,10 +115,10 @@ $kubectl annotate node node-a multicluster.antrea.io/gateway=true Let us switch to cluster B. All the `kubectl` commands in the following steps should be run with the `kubeconfig` for cluster B. -### Step 1 - deploy Antrea Multi-cluster Controllers for member +### Step 1 - deploy Antrea Multi-cluster Controller for member -Run the following command to deploy the member Antrea Multi-cluster Controller -into Namespace `kube-system`. +Run the following command to deploy the member Multi-cluster Controller into +Namespace `kube-system`. ```bash $kubectl apply -f https://github.com/antrea-io/antrea/releases/download/$TAG/antrea-multicluster-member.yml @@ -134,11 +139,11 @@ was generated when initializing the ClusterSet in cluster A. ### Step 3 - specify Multi-cluster Gateway Node -Assuming K8s Node `node-b` is chosen to be the Multi-cluster Gateway for cluster +Assuming K8s Node `node-b1` is chosen to be the Multi-cluster Gateway for cluster B, run the following command to annotate the Node: ```bash -$kubectl annotate node node-b multicluster.antrea.io/gateway=true +$kubectl annotate node node-b1 multicluster.antrea.io/gateway=true ``` ## What is Next @@ -146,7 +151,7 @@ $kubectl annotate node node-b multicluster.antrea.io/gateway=true So far, we set up an Antrea Multi-cluster ClusterSet with two clusters following the above sections of this guide. Next, you can start to consume the Antrea Multi-cluster features with the ClusterSet, including [Multi-cluster Services](user-guide.md#multi-cluster-service) -and [Multi-cluster ClusterNetworkPolicy Replication](user-guide.md#multi-cluster-clusternetworkpolicy-replication). +and [ClusterNetworkPolicy Replication](user-guide.md#multi-cluster-clusternetworkpolicy-replication). Check the relevant Antrea Multi-cluster User Guide sections to learn more. If you want to add a new member cluster to your ClusterSet, you can follow the @@ -159,9 +164,9 @@ cluster A. 2. You need to update the member cluster ID in `multicluster_membercluster_template.yaml` to the cluster ID of the new member -cluster. For example, in the step 2 of initialize ClusterSet, you can change the -commands to the following (assuming the new member cluster ID is -`test-cluster-member2`): +cluster in the step 2 of initializing ClusterSet. For example, you can run the +following commands to the following to initialize the ClusterSet for a member +cluster with ID `test-cluster-member2`: ```bash $kubectl apply -f leader-access-token.yml diff --git a/docs/multicluster/user-guide.md b/docs/multicluster/user-guide.md index ccd95027b5e..7602f955462 100644 --- a/docs/multicluster/user-guide.md +++ b/docs/multicluster/user-guide.md @@ -18,23 +18,24 @@ with two clusters quickly. ### Preparation -We assume an Antrea version >= v1.7.0 is used in this guide, and the Antrea +We assume an Antrea version >= `v1.7.0` is used in this guide, and the Antrea version is set to an environment variable `TAG`. For example, the following -command sets the Antrea version to v1.7.0. +command sets the Antrea version to `v1.7.0`. ```bash export TAG=v1.7.0 ``` To use the latest version of Antrea Multi-cluster from the Antrea main branch, -you can change the YAML manifest path to: https://github.com/antrea-io/antrea/tree/main/multicluster/build/yamls/. +you can change the YAML manifest path to: `https://github.com/antrea-io/antrea/tree/main/multicluster/build/yamls/` +when applying or downloading an Antrea YAML manifest. Multi-cluster Services require an Antrea Multi-cluster Gateway to be set up in each member cluster, so the Multi-cluster Service traffic can be routed across clusters by the Gateways. To support Multi-cluster Gateways, `antrea-agent` must be deployed with the `Multicluster` feature enabled in a member cluster. You can -set the following options in `antrea-agent.conf` of the Antrea deployment -manifest to enable the `Multicluster` feature: +set the following configuration parameters in `antrea-agent.conf` of the Antrea +deployment manifest to enable the `Multicluster` feature: ```yaml antrea-agent.conf: | @@ -54,10 +55,11 @@ A Multi-cluster ClusterSet is comprised of a single leader cluster and at least two member clusters. Antrea Multi-cluster Controller needs to be deployed in the leader and all member clusters. A cluster can serve as the leader, and meanwhile also be a member cluster of the ClusterSet. To deploy Multi-cluster Controller -in a dedicated leader cluster, please refer to [Deploy in a Dedicated Leader cluster](#deploy-in-a-dedicated-leader-cluster). -To deploy Multi-cluster Controller in a member cluster, please refer to -[Deploy in a Member Cluster](#deploy-in-a-member-cluster). To deploy Multi-cluster -Controller in a dual-role cluster, please refer to [Deploy Leader and Member in One Cluster](#deploy-leader-and-member-in-one-cluster). +in a dedicated leader cluster, please refer to [Deploy in a Dedicated Leader +cluster](#deploy-in-a-dedicated-leader-cluster). To deploy Multi-cluster +Controller in a member cluster, please refer to [Deploy in a Member Cluster](#deploy-in-a-member-cluster). +To deploy Multi-cluster Controller in a dual-role cluster, please refer to +[Deploy Leader and Member in One Cluster](#deploy-leader-and-member-in-one-cluster). #### Deploy in a Dedicated Leader Cluster @@ -67,9 +69,9 @@ Controller in a dual-role cluster, please refer to [Deploy Leader and Member in kubectl apply -f https://github.com/antrea-io/antrea/releases/download/$TAG/antrea-multicluster-leader-global.yml ``` -2. Install Multi-cluster Controller in the leader cluster. Since Multi-cluster Controller is - running as namespaced Deployment, you should create a Namespace first, then apply the - manifest with new Namespace. +2. Install Multi-cluster Controller in the leader cluster. Since Multi-cluster + Controller runs as a namespaced Deployment, you should create the Namespace + first, and then apply the deployment manifest with the Namespace. ```bash kubectl create ns antrea-multicluster @@ -94,26 +96,27 @@ kubectl apply -f https://github.com/antrea-io/antrea/releases/download/$TAG/antr We need to run two instances of Multi-cluster Controller in the dual-role cluster, one in leader mode and another in member mode. -1. Follow the steps in section [Deploy in a Member Cluster](#deploy-in-a-member-cluster) +1. Follow the steps in section [Deploy in a Dedicated Leader Cluster](#deploy-in-a-dedicated-leader-cluster) + to deploy the leader controller and import the Multi-cluster CRDs. +2. Follow the steps in section [Deploy in a Member Cluster](#deploy-in-a-member-cluster) to deploy the member controller. -2. Follow the steps in section [Deploy in a Dedicated Leader Cluster](#deploy-in-a-dedicated-leader-cluster) - to deploy the leader controller and the Multi-cluster CRDs. ### Create ClusterSet An Antrea Multi-cluster ClusterSet should include at least one leader cluster and two member clusters. As an example, in the following sections we will create a ClusterSet `test-clusterset` which has two member clusters with cluster ID -`test-cluster-east` and `test-cluster-west`, and one leader cluster with ID -`test-cluster-north`. +`test-cluster-east` and `test-cluster-west` respectively, and one leader cluster +with ID `test-cluster-north`. #### Set up Access to Leader Cluster -We first need to set up access to the leader cluster's API server for all member clusters. -We recommend creating one ServiceAccount for each member for fine-grained access control. +We first need to set up access to the leader cluster's API server for all member +clusters. We recommend creating one ServiceAccount for each member for +fine-grained access control. 1. Apply the following YAML manifest in the leader cluster to set up access for - `test-cluster-east`. + `test-cluster-east`: ```yml apiVersion: v1 @@ -146,22 +149,23 @@ We recommend creating one ServiceAccount for each member for fine-grained access namespace: antrea-multicluster ``` -2. Generate the access token file from the leader cluster, and apply it in the member cluster `test-cluster-east`, e.g. +2. Generate the access token file from the leader cluster, and create a Secret + with the token in member cluster `test-cluster-east`, e.g.: ```bash # Generate the file 'member-east-access-token.yml' from your leader cluster - kubectl get secret member-east-access-token -n antrea-multicluster -o yaml --kubeconfig=/path/to/kubeconfig-of-leader-cluster | grep -w -e '^apiVersion' -e '^data' -e '^metadata' -e '^ *name:' -e '^kind' -e ' ca.crt' -e ' token:' -e '^type' -e ' namespace' | sed -e 's/kubernetes.io\/service-account-token/Opaque/g' -e 's/antrea-multicluster/kube-system/g' > member-east-access-token.yml + kubectl get secret member-east-access-token -n antrea-multicluster -o yaml | grep -w -e '^apiVersion' -e '^data' -e '^metadata' -e '^ *name:' -e '^kind' -e ' ca.crt' -e ' token:' -e '^type' -e ' namespace' | sed -e 's/kubernetes.io\/service-account-token/Opaque/g' -e 's/antrea-multicluster/kube-system/g' > member-east-access-token.yml # Apply 'member-east-access-token.yml' to the member cluster. kubectl apply -f member-east-access-token.yml --kubeconfig=/path/to/kubeconfig-of-member-test-cluster-east ``` -3. Replace all `east` to `west` and repeat step 1/2 for the other member cluster `test-cluster-west` - to create the token Secret and copy the token. +3. Replace all `east` to `west` and repeat step 1/2 for the other member cluster + `test-cluster-west`. #### Initialize ClusterSet In all clusters, a `ClusterSet` CR must be created to define the ClusterSet, and -two `ClusterClaim` CRs should be created to claim the ClusterSet and claim the +two `ClusterClaim` CRs must be created to claim the ClusterSet and claim the cluster is a member of the ClusterSet. - Create `ClusterClaim` and `ClusterSet` in member cluster `test-cluster-east` @@ -200,8 +204,8 @@ spec: namespace: antrea-multicluster ``` -Note: update `server: "https://172.18.0.1:6443"` in `ClusterSet` resource to -the correct the leader cluster API server address. +Note: update `server: "https://172.18.0.1:6443"` in the `ClusterSet` spec to the +correct leader cluster API server address. - Create `ClusterClaim` and `ClusterSet` in member cluster `test-cluster-west`: @@ -274,19 +278,20 @@ spec: namespace: antrea-multicluster ``` -In the leader cluster, the `ClusterSet` CR should include all member clusters of -the ClusterSet. +In the leader cluster, the `ClusterSet` spec should include all member clusters +of the ClusterSet. #### Initialize ClusterSet for a Dual-role Cluster -When you want to make the leader cluster `test-cluster-north` also a member in -the ClusterSet, make sure you follow the steps in [Deploy Leader and Member in One Cluster](#deploy-leader-and-member-in-one-cluster) -and repeat the steps in [Set up Access to Leader Cluster](#set-up-access-to-leader-cluster) -as well to create the token Secret and copy the token. Don't forget replace all `east` to `north` -before you repeat the steps. +If you want to make the leader cluster `test-cluster-north` also a member +cluster of the ClusterSet, make sure you follow the steps in [Deploy Leader and +Member in One Cluster](#deploy-leader-and-member-in-one-cluster) and repeat the +steps in [Set up Access to Leader Cluster](#set-up-access-to-leader-cluster) as +well (don't forget replace all `east` to `north` when you repeat the steps). -Then create below `ClusterClaim` and `ClusterSet` in the cluster `test-cluster-north` in the -`kube-system` Namespace where the member Multi-cluster Controller runs. +Then create the `ClusterClaim` and `ClusterSet` CRs in cluster +`test-cluster-north` in the `kube-system` Namespace (where the member +Multi-cluster Controller runs): ```yaml apiVersion: multicluster.crd.antrea.io/v1alpha1 @@ -320,9 +325,9 @@ spec: namespace: antrea-multicluster ``` -Then update the ClusterSet `test-clusterset` definition as below to include itself -as a member cluster in the Namespace `antrea-multicluster` where the leader controller is -running in the cluster `test-cluster-north`. +Last, update the ClusterSet `test-clusterset` in Namepsace `antrea-multicluster` +(where the leader Multi-cluster Controller runs) to include `test-cluster-north` +as a member cluster of the ClusterSet: ```yaml apiVersion: multicluster.crd.antrea.io/v1alpha1 @@ -347,7 +352,7 @@ spec: After a member cluster joins a ClusterSet, and the `Multicluster` feature is enabled for `antrea-agent`, one K8s Node in the member cluster can be specified -to serve as the Multi-cluster Gateway. An annotation - +to serve as the Multi-cluster Gateway of the cluster. An annotation - `multicluster.antrea.io/gateway=true` - should be added to the Node to tell Antrea it is the Gateway Node. For example, you can run the following command to annotate Node `node-1` as the Multi-cluster Gateway: @@ -358,8 +363,8 @@ $kubectl annotate node node-1 multicluster.antrea.io/gateway=true Multi-cluster Controller in the member cluster will detect the Gateway Node, and create a `Gateway` CR with the same name as the Node. You can check the `Gateway` -information using with: `kubectl get gateway node-1 -o yaml`, which -should show the Gateway information like: +with: `kubectl get gateway node-1 -o yaml`, which should show the Gateway +information like: ```yaml apiVersion: multicluster.crd.antrea.io/v1alpha1 @@ -373,20 +378,21 @@ internalIP: 10.17.27.55 `internalIP` of the Gateway is used for the tunnels between the Gateway Node and other Nodes in the local cluster, while `gatewayIP` is used for the tunnels to -remote Gateways in other member clusters. By default, Multi-cluster Controller +remote Gateways of other member clusters. By default, Multi-cluster Controller will use the K8s Node `InternalIP` of the Gateway Node as the `gatewayIP`. If you want to use `ExternalIP` of the Gateway Node instead, you can change the -config option `gatewayIPPrecedence` in ConfigMap `antrea-mc-controller-config-***` -to value `public`. When selecting a K8s Node as the Multi-cluster Gateway, you +configuration option `gatewayIPPrecedence` in ConfigMap +`antrea-mc-controller-config-***` to value `public`, when you deploy the member +Multi-cluster Controller. When selecting the Multi-cluster Gateway Node, you need to make sure the resulted `gatewayIP` can be reached from the remote Gateways. -After the `Gateway` is created, Multi-cluster Controller will be responsible for -exporting the cluster's network information to the leader cluster including the -Gateway IPs and `serviceCIDR` (the Service ClusterIP range). Multi-cluster -Controller will try to discover `serviceCIDR` automatically, but you can also -define the `serviceCIDR` manually in the Antrea Multi-cluster ConfigMap -`antrea-mc-controller-config-***`. +After the `Gateway` CR is created, Multi-cluster Controller will be responsible +for exporting the cluster's network information to the leader cluster including +the Gateway IPs and `serviceCIDR` (the cluster's Service ClusterIP range). +Multi-cluster Controller will try to discover `serviceCIDR` automatically, but +you can also define the `serviceCIDR` manually in the Antrea Multi-cluster +ConfigMap `antrea-mc-controller-config-***`. The Multi-cluster resource export/import pipeline will replicate the exported cluster network information to all member clusters in the ClusterSet. For @@ -410,11 +416,11 @@ spec: ``` Make sure you repeat the same steps to assign a Gateway Node in all member -clusters, then `antrea-agent` will set up Geneve tunnels among the Gateway nodes -of the member clusters, based on the local `Gateway` and the `ClusterInfoImport` -resources and route Multi-cluster Service traffic across clusters through the -tunnels. And `antrea-agent` on regular Nodes will route cross-cluster traffic -from local Pods to the Gateway Node of the member cluster. +clusters, then `antrea-agent` will set up Geneve tunnels among the Gateway Nodes +of member clusters based on the local `Gateway` and the `ClusterInfoImport` +resources, and route Multi-cluster Service traffic across clusters through the +tunnels. `antrea-agent` on regular Nodes will route cross-cluster traffic from +local Pods to the Gateway Node of the member cluster. Once you confirm that all `Gateway` and `ClusterInfoImport` resources are created correctly, you can follow the [Multi-cluster Service](#multi-cluster-service) diff --git a/multicluster/config/samples/clusterset_init/multicluster_membercluster_template.yaml b/multicluster/config/samples/clusterset_init/multicluster_membercluster_template.yaml index 28eaa8d0c63..44a474c1352 100644 --- a/multicluster/config/samples/clusterset_init/multicluster_membercluster_template.yaml +++ b/multicluster/config/samples/clusterset_init/multicluster_membercluster_template.yaml @@ -25,5 +25,6 @@ spec: secret: leader-access-token server: https://:6443 members: + - clusterID: test-cluster-leader - clusterID: test-cluster-member namespace: antrea-multicluster