Merge pull request #2028 from AllenZMC/improve_submariner
Improve working-with-submariner
This commit is contained in:
commit
da4d8ffd6d
|
@ -1,52 +1,52 @@
|
||||||
# Use Submariner to connect the network between Karmada member clusters
|
# Use Submariner to connect the network between Karmada member clusters
|
||||||
|
|
||||||
This document uses an example to demonstrate how to use the `Submariner` to connect the network between member clusters.
|
This document demonstrates how to use the `Submariner` to connect the network between member clusters.
|
||||||
|
|
||||||
[Submariner](https://github.com/submariner-io/submariner) flattens the networks between the connected clusters, and enables IP reachability between Pods and Services.
|
[Submariner](https://github.com/submariner-io/submariner) flattens the networks between the connected clusters, and enables IP reachability between Pods and Services.
|
||||||
|
|
||||||
## Install Karmada
|
## Install Karmada
|
||||||
|
|
||||||
### Install karmada control plane
|
### Install Karmada control plane
|
||||||
|
|
||||||
Following the steps [Install karmada control plane](https://github.com/karmada-io/karmada#install-karmada-control-plane) in Quick Start, you can get a Karmada.
|
Following the steps [Install Karmada control plane](https://github.com/karmada-io/karmada#install-karmada-control-plane) in Quick Start, you can get a Karmada.
|
||||||
|
|
||||||
### Join member cluster
|
### Join member cluster
|
||||||
|
|
||||||
In the following steps, we are going to create a member cluster and then join the cluster to karmada control plane.
|
In the following steps, we are going to create a member cluster and then join the cluster to Karmada control plane.
|
||||||
|
|
||||||
1. Create member cluster
|
1. Create member cluster
|
||||||
|
|
||||||
We are going to create a cluster named `cluster1` and we want the KUBECONFIG file in $HOME/.kube/cluster.config. Run following command:
|
We are going to create a cluster named `cluster1` and we want the KUBECONFIG file in $HOME/.kube/cluster.config. Run following command:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# hack/create-cluster.sh cluster1 $HOME/.kube/cluster1.config
|
hack/create-cluster.sh cluster1 $HOME/.kube/cluster1.config
|
||||||
```
|
```
|
||||||
|
|
||||||
This will create a cluster by kind.
|
This will create a cluster by kind.
|
||||||
|
|
||||||
2. Join member cluster to karmada control plane
|
2. Join member cluster to Karmada control plane
|
||||||
|
|
||||||
Export `KUBECONFIG` and switch to `karmada apiserver`:
|
Export `KUBECONFIG` and switch to `karmada apiserver`:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# export KUBECONFIG=$HOME/.kube/karmada.config
|
export KUBECONFIG=$HOME/.kube/karmada.config
|
||||||
|
|
||||||
# kubectl config use-context karmada-apiserver
|
kubectl config use-context karmada-apiserver
|
||||||
```
|
```
|
||||||
|
|
||||||
Then, install `karmadactl` command and join the member cluster:
|
Then, install `karmadactl` command and join the member cluster:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
# go install github.com/karmada-io/karmada/cmd/karmadactl
|
go install github.com/karmada-io/karmada/cmd/karmadactl
|
||||||
|
|
||||||
# karmadactl join cluster1 --cluster-kubeconfig=$HOME/.kube/cluster1.config
|
karmadactl join cluster1 --cluster-kubeconfig=$HOME/.kube/cluster1.config
|
||||||
```
|
```
|
||||||
|
|
||||||
In addition to the original member clusters, ensure that at least two member clusters are joined to the Karmada.
|
In addition to the original member clusters, ensure that at least two member clusters are joined to the Karmada.
|
||||||
|
|
||||||
In this example, we have joined two member clusters to the Karmada:
|
In this example, we have joined two member clusters to the Karmada:
|
||||||
|
|
||||||
```
|
```console
|
||||||
# kubectl get clusters
|
# kubectl get clusters
|
||||||
NAME VERSION MODE READY AGE
|
NAME VERSION MODE READY AGE
|
||||||
cluster1 v1.21.1 Push True 16s
|
cluster1 v1.21.1 Push True 16s
|
||||||
|
@ -56,7 +56,7 @@ cluster2 v1.21.1 Push True 5s
|
||||||
|
|
||||||
## Deploy Submariner
|
## Deploy Submariner
|
||||||
|
|
||||||
We are going to deploy `Submariner` componnets on the `host cluster` and `member clusters` by using the `subctl` CLI as it's the recommended deployment method according to [Submariner official documentation](https://github.com/submariner-io/submariner/tree/b4625514061c1d85c10432a78ca0ad46e679367a#installation).
|
We are going to deploy `Submariner` components on the `host cluster` and `member clusters` by using the `subctl` CLI as it's the recommended deployment method according to [Submariner official documentation](https://github.com/submariner-io/submariner/tree/b4625514061c1d85c10432a78ca0ad46e679367a#installation).
|
||||||
|
|
||||||
`Submariner` uses a central Broker component to facilitate the exchange of metadata information between Gateway Engines deployed in participating clusters. The Broker must be deployed on a single Kubernetes cluster. This cluster’s API server must be reachable by all Kubernetes clusters connected by Submariner, therefore, we deployed it on the karmada-host cluster.
|
`Submariner` uses a central Broker component to facilitate the exchange of metadata information between Gateway Engines deployed in participating clusters. The Broker must be deployed on a single Kubernetes cluster. This cluster’s API server must be reachable by all Kubernetes clusters connected by Submariner, therefore, we deployed it on the karmada-host cluster.
|
||||||
|
|
||||||
|
@ -66,17 +66,17 @@ Please refer to the [SUBCTL Installation](https://submariner.io/operations/deplo
|
||||||
|
|
||||||
### Use karmada-host as Broker
|
### Use karmada-host as Broker
|
||||||
|
|
||||||
```
|
```shell
|
||||||
subctl deploy-broker --kubeconfig /root/.kube/karmada.config --kubecontext karmada-host
|
subctl deploy-broker --kubeconfig /root/.kube/karmada.config --kubecontext karmada-host
|
||||||
```
|
```
|
||||||
|
|
||||||
### Join cluster1 and cluster2 to the Broker
|
### Join cluster1 and cluster2 to the Broker
|
||||||
|
|
||||||
```
|
```shell
|
||||||
subctl join --kubeconfig /root/.kube/cluster1.config broker-info.subm --natt=false
|
subctl join --kubeconfig /root/.kube/cluster1.config broker-info.subm --natt=false
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```shell
|
||||||
subctl join --kubeconfig /root/.kube/cluster2.config broker-info.subm --natt=false
|
subctl join --kubeconfig /root/.kube/cluster2.config broker-info.subm --natt=false
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue