Skip to content

Commit

Permalink
Merge pull request #162 from justedennnnn/justedentrans
Browse files Browse the repository at this point in the history
Add docs `userguide`
  • Loading branch information
karmada-bot committed Sep 23, 2022
2 parents 8ea7b05 + 95b9174 commit 342dc06
Showing 1 changed file with 22 additions and 21 deletions.
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
---
title: Multi-cluster Service Discovery
title: 多集群服务发现
---

Users are able to **export** and **import** services between clusters with [Multi-cluster Service APIs](https://github.com/kubernetes-sigs/mcs-api).
用户能够通过[多集群服务API](https://github.com/kubernetes-sigs/mcs-api)在集群之间导出和导入服务。

## Prerequisites
## 准备开始

### Karmada has been installed
### 安装Karmada

We can install Karmada by referring to [quick-start](https://github.com/karmada-io/karmada#quick-start), or directly run `hack/local-up-karmada.sh` script which is also used to run our E2E cases.
我们可以通过参考[快速开始](https://github.com/karmada-io/karmada#quick-start)来安装Karmada,或者直接运行 `hack/local-up-karmada.sh` 脚本,我们的E2E测试执行正是使用了该脚本。

### Member Cluster Network

Ensure that at least two clusters have been added to Karmada, and the container networks between member clusters are connected.
### 成员集群网络

- If you use the `hack/local-up-karmada.sh` script to deploy Karmada, Karmada will have three member clusters, and the container networks of the `member1` and `member2` will be connected.
- You can use `Submariner` or other related open source projects to connected networks between member clusters.
确保至少有两个集群被添加到 Karmada,并且成员集群之间的容器网络可相互连接。

### The ServiceExport and ServiceImport CRDs have been installed
- 如果你使用 `hack/local-up-karmada.sh` 脚本来部署 Karmada,Karmada 将有三个成员集群,`member1``member2` 的容器网络将被连接。
- 你可以使用 `Submariner` 或其他相关的开源项目来连接成员集群之间的网络。

We need to install ServiceExport and ServiceImport in the member clusters.
### 安装 ServiceExport ServiceImport CRD

After ServiceExport and ServiceImport have been installed on the **karmada control-plane**, we can create `ClusterPropagationPolicy` to propagate those two CRDs to the member clusters.
我们需要在成员集群中安装ServiceExport和ServiceImport。

**karmada控制平面**上安装完 ServiceExport 和 ServiceImport 之后,我们可以创建 `ClusterPropagationPolicy` 来分发这两个 CRD 到成员集群。

```yaml
# propagate ServiceExport CRD
Expand Down Expand Up @@ -56,11 +57,11 @@ spec:
- member1
- member2
```
## Example
## 示例

### Step 1: Deploy service on the `member1` cluster
### 第1步:在`member1`集群上部署服务

We need to deploy service on the `member1` cluster for discovery.
我们需要在 `member1` 集群上部署服务以便发现。

```yaml
apiVersion: apps/v1
Expand Down Expand Up @@ -121,9 +122,9 @@ spec:
- member1
```

### Step 2: Export service to the `member2` cluster
### 第2步:导出服务到 `member2` 集群

- Create a `ServiceExport` object on **karmada control-plane**, and then create a `PropagationPolicy` to propagate the `ServiceExport` object to the `member1` cluster.
- **karmada控制平面**上创建一个 `ServiceExport` 对象,然后创建一个 `PropagationPolicy` ,将 ` ServiceExport` 对象分发到 ` member1` 集群。

```yaml
apiVersion: multicluster.x-k8s.io/v1alpha1
Expand All @@ -146,7 +147,7 @@ spec:
- member1
```

- Create a `ServiceImport` object on **karmada control-plane**, and then create a `PropagationPlicy` to propagate the `ServiceImport` object to the `member2` cluster.
- **karmada控制平面**上创建一个 `ServiceImport` 对象,然后创建一个 `PropagationPlicy ` 来分发 `ServiceImport ` 对象到 `member2 `集群。

```yaml
apiVersion: multicluster.x-k8s.io/v1alpha1
Expand Down Expand Up @@ -174,11 +175,11 @@ spec:
- member2
```

### Step 3: Consume service from `member2` cluster
### 第3步:从 `member2` 集群获取服务

After the above steps, we can find the **derived service** which has the prefix `derived-` on the `member2` cluster. Then, we can access the **derived service** to access the service on the `member1` cluster.
经过上述步骤,我们可以在 `member2` 集群上找到前缀为 `derived-` **派生服务**。然后,我们可以访问**派生服务**来访问`member1`集群上的服务。

Start a Pod `request` on the `member2` cluster to access the ClusterIP of **derived service**:
`member2` 集群上启动一个Pod `request`来访问**派生服务**的ClusterIP。

```
kubectl run -i --rm --restart=Never --image=jeremyot/request:0a40de8 request -- --duration={duration-time} --address={ClusterIP of derived service}
Expand Down

0 comments on commit 342dc06

Please sign in to comment.