Skip to content

Commit

Permalink
Merge pull request #904 from windsonsea/docyh
Browse files Browse the repository at this point in the history
[Docs] Update README and install docs, and change image-name with spaces
  • Loading branch information
weizhoublue authored Oct 31, 2023
2 parents f391a38 + d950f26 commit d2a8873
Show file tree
Hide file tree
Showing 11 changed files with 341 additions and 172 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

## Background

<img src="./docs/proposal/01-egress-gateway/Egress Gateway.png" width="76%"></img>
<img src="docs/proposal/01-egress-gateway/Egress-Gateway.png" width="76%"></img>

Starting with 2021, we received some feedback as follows.

Expand Down
6 changes: 3 additions & 3 deletions docs/README.en.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The gateway provides network egress capabilities for Kubernetes clusters.

<img src="./proposal/01-egress-gateway/Egress Gateway.png" width="76%"></img>
<img src="./proposal/01-egress-gateway/Egress-Gateway.png" width="76%"></img>

Starting with 2021, we received some feedback as follows.

Expand All @@ -15,7 +15,7 @@ There are two clusters A and B. Cluster A is VMWare-based and runs mainly Databa
* Can be used in low kernel version.
* Support multiple egress gateways instance.
* Support namespaced egress IP.
* Supports automatic detection of cluster traffic for egress gateways policies.
* Support automatic detection of cluster traffic for egress gateways policies.
* Support namespace default egress instances.

### Compatibility
Expand Down Expand Up @@ -45,4 +45,4 @@ Refer to [develop](develop/Develop.md).

## License

EgressGateway is licensed under the Apache License, Version 2.0. See [LICENSE](https://github.com/spidernet-io/spiderpool/blob/main/LICENSE) for the full license text.
EgressGateway is licensed under the Apache License, Version 2.0. See [LICENSE](https://github.com/spidernet-io/spiderpool/blob/main/LICENSE) for the full license text.
10 changes: 5 additions & 5 deletions docs/README.zh.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
EgressGateway 项目为 Kubernetes 提供 Egress 能力。

<img src="./proposal/01-egress-gateway/Egress Gateway.png" width="76%"></img>
<img src="./proposal/01-egress-gateway/Egress-Gateway.png" width="76%"></img>

从2021年开始,我们收到了以下反馈。

有两个集群 A 和 B。集群 A 基于 VMWare 并主要运行数据库负载,集群 B 是一个 Kubernetes 集群。集群 B 中的某些应用需要访问集群 A 中的数据库,而网络管理员希望通过出口网关管理集群的 Pods
有两个集群 A 和 B。集群 A 基于 VMWare 并主要运行数据库负载,集群 B 是一个 Kubernetes 集群。集群 B 中的某些应用需要访问集群 A 中的数据库,而网络管理员希望通过出口网关管理集群的 Pod

## 特性

* 解决 IPv4/IPv6 双栈连接问题
* 解决 Egress 节点的高可用性问题
* 允许过滤 Pods 的 Egress 策略(_目标 CIDR_
* 允许过滤 Egress 应用(_Pods_
* 允许过滤 Pod 的 Egress 策略(_目标 CIDR_
* 允许过滤 Egress 应用(_Pod_
* 可用于较低内核版本
* 支持多个出口网关实例
* 支持租户级别的 Egress IP
Expand Down Expand Up @@ -45,4 +45,4 @@ EgressGateway 项目为 Kubernetes 提供 Egress 能力。

## License

EgressGateway 基于 Apache License,Version 2.0。详细参考 [LICENSE](https://github.com/spidernet-io/spiderpool/blob/main/LICENSE) 查看完整 LICENSE 内容。
EgressGateway 基于 Apache License,Version 2.0。详细参考 [LICENSE](https://github.com/spidernet-io/spiderpool/blob/main/LICENSE) 查看完整 LICENSE 内容。
4 changes: 2 additions & 2 deletions docs/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ nav:
- Concepts:
- Architecture: concepts/Architecture.md
- Datapath: concepts/Datapath.md
- reference:
- Reference:
- CRD EgressTunnel: reference/EgressTunnel.md
- CRD EgressGateway: reference/EgressGateway.md
- CRD EgressPolicy: reference/EgressPolicy.md
Expand All @@ -98,7 +98,7 @@ nav:
- CRD EgressClusterEndpointSlice: reference/EgressClusterEndpointSlice.md
- CRD EgressClusterInfo: reference/EgressClusterInfo.md
- Troubleshooting: Troubleshooting.md
- Develop:
- Development:
- DataFlow: develop/Dataflow.md
- Contribute: develop/Contribute.md
- Release: develop/Release.md
Expand Down
6 changes: 3 additions & 3 deletions docs/proposal/01-egress-gateway/EgressGateway.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ spec:

### Datapath

<img src="./Egress Gateway Datapath.png" width="70%"></img>
<img src="Egress-Gateway-Datapath.png" width="70%"></img>

A combination of vxlan tunnel, ipset, iptables, route is required to complete policy control.

Expand Down Expand Up @@ -162,12 +162,12 @@ iptables -t nat -I POSTROUTING 1 -m mark --mark 0x12000000 -j ACCEPT -m comment

Controller consists of Webhook Validator and Reconcile Flow.

<img src="./Controller Reconcile Flow.png" width="70%"></img>
<img src="Controller-Reconcile-Flow.png" width="70%"></img>

Controller has 2 control processes, the first Watch cluster nodes, generate tunnel IP address and MAC address for Node, then `Create` or `Update` EgressTunnel CR Status. The second control flow watch `EgressTunnel` and `Egressgateway`, sync match node list from `labelSelector`, election egress gateway node.

### Agent

<img src="./Agent Reconcile Flow.png" width="70%"></img>
<img src="Agent-Reconcile-Flow.png" width="70%"></img>

Agent has two control processes, the first Watch `EgressTunnel` CR, which manages node tunnel, and node tunnel is a pluggable interface that can be replaced by Geneve. The second control process manages datapath policy, which watches `EgressTunnel`, `EgressGateway` and `Egresspolicy`, and sends them to the host through the police interface. It is currently implemented by a combination of *ipset*, *iptables*, and *route*, and it can be replaced by *eBPF*.
Loading

0 comments on commit d2a8873

Please sign in to comment.