站务联系

在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)

发布时间:2021-03-09   来源:网络整理    
字号:

Kubernetes 容器网路绪论

首先我们会介绍下 Kubernetes 容器网路的基础概念,包括:

Pod 网络连通性(CNI)

如下所示是 Kubernetes Pod 网络示意图:

在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)

在我们争创 Pod 时:

Kubelet 会首先从 ApiServer 监听至 Pod 的争创,会争创 Pod 的沙箱;然后通过 CNI 接口读取 CNI 的插件去配置容器的网路;CNI 会配置 Pod 的网路空间,以及打通不同 Pod 之间的网路访问。如何打通的网路?

通常 Pod 跟宿主机网路不在一个平面,要怎么打通 Pod 之间通讯呢?一般实现 Pod 之间移动的方案有两种:

在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)

Kubernetes 网络负载均衡(Service)

为什么还要 Kubernetes Service?原因如下:

Kubernetes Service

在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)

在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)

构建高性能云原生的 CNI 网络哪些是云原生容器网路?

云上 IaaS 层网路虚拟化,在容器中再做一层网络虚拟化带给的功耗损失比较大。

云原生容器网路是直接使用云上原生云资源配置容器网路:

在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)

由于容器的网路直接成为了 VPC 中的一等公民,所以使用云原生容器网路会有很多优势:

如何运用云原生资源建立容器网路?

IaaS 层网路资源(以阿里云为例):

利用弹性网卡或则弹性网卡辅助 IP 分配给 Pod 来实现云原生容器网路:

在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)

对并行的 Pod 网络配置读取批量申请资源:

在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)

除此之外也有这些资源管理策略,例如:如何选择 Pod 要用的虚拟交换机,保证 IP 充裕?如何平衡每位节点上的网卡的队列跟中断数,保证争抢最少?

可参考 Terway 文档或代码:。

网络怎样打通

Pod 独占弹性网卡方式:

它的在CNI的实现方法是:

通过 Terway 资源管理将弹性网卡绑定 Pod 所在 Node;Terway CNI 将网卡直接移入至 Pod 网络空间;Terway CNI 为其网卡配置 IP 和路由等网路配置。

在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)

这种模式的特征跟优势是:

性能对比

在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)

如上图所示:

在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)

NetworkPolicy 性能跟扩展性问题

NetworkPolicy 是 Kubernetes 控制 Pod 和 Pod 间是否容许通讯的规则。目前主流的 NetworkPolicy 实现基于 iptables 实现,同样有 iptables 的扩展性问题:

图说天下

×
二维码生成