开发者学堂课程【5分钟玩转阿里云容器服务:容器网络 Terway】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1038/detail/15193
容器网络 Terway
内容介绍:
一.Terway 网络插件主要差异的能力点
二.使用云原生的能力实际操作对比与传统网络插件的区别
三.实际验证
阿里云容器服务提供了 Flannel 和 Terway 两种网络插件。
为了让同学了解在创造集群的时候如何选择两种网络插件,首先需要了解 Terway 网络插件的一些差异能力。
一、Terway 网络插件的主要差异的能力点
1.云原生
在 Terway 网络插件中, pod 地址就是云原生的 vpc 里面的地址,这个抵制可以和 SLB ,NAT 网关以及 EIP 等云产品无缝的进行结合。
2.高性能
在Terway 网络插件中, Pod 之间通信是不需要封包的,性能是接近于 ECS 的网络性能,并且能支持用 ebpf 去加速的服务网络以及网络策略。
3.企业级
使用 Terway 网络插件之后,可以定义网络的安全策略,网络的限流规则以及网络的优先级,便于去做离在线的混部。
二.使用云原生的能力实际操作,对比与传统网络插件的区别
1. Terway 网络插件的第一个差异点
在创建集群时,选择 Terway 网络插件后,再选择 Pod 虚拟交换机,与其他网络插件不同的是,不需要为集群中的 Pod 分配一个虚拟的地址段,因为 Terway 网络插件中的 Pod 地址是由阿里云的虚拟交换机中去分配,在阿里云容器服务中选择 Terway 网络插件后,Pod选择创建的地址是基于阿里云的 vpc 去分配出来的地址。
当在这个已经创建好的集群里创建 Pod 时, 可以发现 Pod 的 IP 地址和节点 IP 地址在同一个网络平面里,这也印证了 Pod 的地址在 Terway 里是云原生的网络地址,是从阿里云的 vpc 中直接分配出来的。
2. Terway 网络插件的第二个差异点
是可以为 Pod 绑定公网的 IP 地址,在 Terway 网络插件中可以为每个 Pod 绑定独立的公网 IP 地址,便于使用者用于游戏或者电话会议一类的场景。
在创建的 nginx 无状态应用中,点击查看 yaml,在 Pod 模板里增加公网 IP 地址的注解,
使用 k8s.aliyun.com/pod-with-eip
这种注解是用来声明无状态应用中的 Pod 都会有分配公网的IP 地址,点击更新后,新的 Pod 开始创建,等待创建完成后,点击详情,在注解中可以看到,为这一个 Pod 分配的公网的一个 IP 地址,尝试访问这个地址,就可以访问之前部署的 Nginx 这个应用,使用这个能力就可以为每个在集群里面 Pod 分配独立的一个公网IP地址。
3.第三点是负载均衡的网络直通能力
K8S 中可以通过负载均衡的类型的Service 来暴露服务,通过负载均衡到节点的 NodePort 进行转发,再到 Pod 。相比于此,再 Terway 网络插件模式下, Pod 可以直接挂到 LoadBalancer 的后端。
三.实际验证
在阿里云容器服务控制台,选择网络中的服务选项,点击创建再选择负载均衡类型的服务,关联刚才所创建的 Nginx 无状态应用,再选择容器端口,点击创建,等待外部端点分配成功后,再点击外部端点就可以访问到创建的 Nginx 应用,然后前往负载均衡管理的控制台来查看是否有你直接挂的 Pod 的IP ,在负载均衡的控制台点击刷新,可以发现刚才创建的负载均衡的地址,点进去,在后端的服务器组中,可以看到直接挂载的 Pod 的IP 地址,不需要经过 Node 的 Pod 进行的一次转换。