Skip to content

Commit

Permalink
chore(docs): replace jpg to png
Browse files Browse the repository at this point in the history
(cherry picked from commit 38cf377a335b8c417729be3e1a2204f818e172b1)
  • Loading branch information
WeeNews authored and dakehero committed Sep 21, 2023
1 parent b4f78e5 commit 07140a9
Show file tree
Hide file tree
Showing 8 changed files with 6 additions and 6 deletions.
6 changes: 3 additions & 3 deletions README-zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ Cello 通过集成[Cilium]来替代kube-proxy实现kubernetes Service以获得

## 工作模式
### 共享ENI模式
![eniip_ipvlan](docs/images/eniip_ipvlan.jpg)
![eniip_ipvlan](docs/images/eniip_ipvlan.png)
共享ENI模式下,Cello将辅助ENI下的多个辅助私有IP(数量取决于[实例规格])分配给多个Pod,从而获得更高的部署密度。由于每个Pod分配到了一个VPC内的地址,所有Pod和节点在VPC内具有基本相同的“地位”。在VPC网络基础上,支持Pod和所在节点通过本地快路径进行通信。

### 独占ENI模式
![eni](docs/images/eni.jpg)
![eni](docs/images/eni.png)
独占模式下,Cello将辅助ENI直接分配给Pod, 将辅助ENI拉入到Pod的NetNs中并使用辅助ENI的主IP进行通信。从VPC视角,所有Pod和Node具有完全相同的“地位”。受限于ECS可挂载辅助ENI的数量,这种模式下Pod部署密度较低。在VPC网络基础上,支持Pod和所在节点通过本地`veth-pair`进行通信。

## ENI 创建
<img alt="feishu" height="400" src="./docs/images/eni_allocation.jpg"/>
<img alt="feishu" height="400" src="./docs/images/eni_allocation.png"/>

Cello 以 daemonset 的形式部署在每个节点上,每个 Cello 实例都会独立申请辅助 ENI。申请 ENI 时会从用户配置的subnets中选择一个,并使用用户配置的全部安全组。 `eni_exclusive` 模式直接使用eni,节点上可调度的pod数量等于`eni_quota-1`。在`eni_shared`模式下,节点上可调度的pod数量等于`(eni_quota-1)*ip_quota_per_eni`。 Cello 创建的 ENI 会携带一些标签来标识创建者,如果 Cello 存活,Cello 会根据标签定期检查和回收自己泄露的 ENI。在集群中部署 opeartor 来回收删除节点时 detached 的 ENI 可以进一步避免ENI的泄漏。删除集群后,用户仍需要检查是否有 ENI 泄漏。

Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,18 @@ Cello replaces kube-proxy with [Cilium] to implement kubernetes services to achi
## Cello mode

### ENI-Multi-IP
![eniip_ipvlan](docs/images/eniip_ipvlan.jpg)
![eniip_ipvlan](docs/images/eniip_ipvlan.png)
In the ENI-Multi-IP mode, Cello assigns multiple secondary private IPs under the secondary ENI to multiple Pods to achieve higher deployment density. The number of Pods on ECS depends on instance type ([limit]). Since each Pod is assigned an address within the VPC, all Pods and Nodes are almost the same in the VPC perspective. In addition to communicating through VPC, Pod can communicate with its Node through local fast path.

### Exclusive-ENI
![eni](docs/images/eni.jpg)
![eni](docs/images/eni.png)
In exclusive mode, Cello assigns the secondary ENI directly to the Pod, pulls the secondary ENI into the Pod's NetNs and uses the primary IP of the secondary ENI for communication. From the perspective of VPC, all Pods and Nodes are the same. Limited by the number of secondary ENIs that can be attached on the ECS, the Pod deployment density in this mode is much lower. In addition to communicating through VPC, Pod also can communicate with its Node through the local `veth-pair`.



## ENI Allocation

<img alt="feishu" height="400" src="./docs/images/eni_allocation.jpg"/>
<img alt="feishu" height="400" src="./docs/images/eni_allocation.png"/>

Cello is deployed on each node in the form of daemonset, and each Cello instance will independently apply for secondary ENIs and use them to configure pod network. Each ENI will select one of the subnets configured by the user and all security groups configured by the user.
* In `eni_exclusive` mode, eni is used directly, the number of pods that can be scheduled on the node is equal to `eni_quota-1`.
Expand Down
Binary file removed docs/images/eni.jpg
Binary file not shown.
Binary file added docs/images/eni.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/eni_allocation.jpg
Binary file not shown.
Binary file added docs/images/eni_allocation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/eniip_ipvlan.jpg
Binary file not shown.
Binary file added docs/images/eniip_ipvlan.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 07140a9

Please sign in to comment.