阿里Terway源码如何进行深入分析?
- 内容介绍
- 相关推荐
本文共计2240个文字,预计阅读时间需要9分钟。
背景+根据公司业务发展,底层容器环境需要在各个区域部署,实现多云架构。使用各云厂商提供的CNI插件是k8s多云环境下网络架构的一种高效解决方案。在阿里云方案中,方便地实现多云。
背景随着公司业务的发展,底层容器环境也需要在各个区域部署,实现多云架构, 使用各个云厂商提供的CNI插件是k8s多云环境下网络架构的一种高效的解法。我们在阿里云的方案中,便用到了阿里云提供的CNI插件terway。terway所提供的VPC互通的网络方案,方便对接已有的基础设施,同时没有overlay网络封包解包的性能损耗,简单易用,出现网络问题方便诊断。本文对该插件做简单的代码分析,理解其原理,以便后期诊断问题和维护。
功能划分阿里云开源的terway代码有三部分组成:
- CNI plugin: 即CNI插件,实现
ADD、DEL、VERSION三个接口来供kubelet调用, 该插件将kubelet传递的参数进行简单处理后,会通过gRPC调用terwayBackendServer来实现具体的逻辑,例如申请网络设备等。同步调用terwayBackendServer将网络设备分配完毕之后,会通过ipvlanDriver.Driver进行pod sandbox network namespace的Setup操作,同时还会通过TC进行流控。该插件会通过daemonSet中initContainer安装到所有node上。
本文共计2240个文字,预计阅读时间需要9分钟。
背景+根据公司业务发展,底层容器环境需要在各个区域部署,实现多云架构。使用各云厂商提供的CNI插件是k8s多云环境下网络架构的一种高效解决方案。在阿里云方案中,方便地实现多云。
背景随着公司业务的发展,底层容器环境也需要在各个区域部署,实现多云架构, 使用各个云厂商提供的CNI插件是k8s多云环境下网络架构的一种高效的解法。我们在阿里云的方案中,便用到了阿里云提供的CNI插件terway。terway所提供的VPC互通的网络方案,方便对接已有的基础设施,同时没有overlay网络封包解包的性能损耗,简单易用,出现网络问题方便诊断。本文对该插件做简单的代码分析,理解其原理,以便后期诊断问题和维护。
功能划分阿里云开源的terway代码有三部分组成:
- CNI plugin: 即CNI插件,实现
ADD、DEL、VERSION三个接口来供kubelet调用, 该插件将kubelet传递的参数进行简单处理后,会通过gRPC调用terwayBackendServer来实现具体的逻辑,例如申请网络设备等。同步调用terwayBackendServer将网络设备分配完毕之后,会通过ipvlanDriver.Driver进行pod sandbox network namespace的Setup操作,同时还会通过TC进行流控。该插件会通过daemonSet中initContainer安装到所有node上。

