Kubernetes网络、负载均衡与入口解析
1. 引言
在生产级操作中,网络是至关重要的。随着容器和集群技术的引入,网络通信和发现变得更加复杂,需要穿越容器IP空间、主机网络,甚至多个数据中心网络拓扑。Kubernetes在网络方面得益于谷歌过去十年使用的集群工具,许多经验被融入到Kubernetes的网络实现中。
2. Kubernetes网络基础
Kubernetes网络要求每个Pod有自己的IP地址,并且不允许在容器到容器或容器到节点的流量中使用网络地址转换(NAT),内部容器IP地址必须与用于通信的IP地址匹配。这些规则简化了网络栈,方便应用设计,避免了遗留应用迁移时的网络通信重新设计,也支持了新应用的大规模扩展。
Kubernetes通过占位符实现Pod级别的IP分配。在第1章提到的暂停容器,常被称为Pod基础设施容器,它为后续启动的应用容器保留网络资源,持有整个Pod的网络命名空间和IP地址,后续容器启动时加入该命名空间。
3. 网络选项
Kubernetes提供了广泛的网络选项:
- 与云服务提供商原生网络层集成 :有适用于AWS和GCP原生网络层的解决方案。
- Overlay插件 :如Weave、Flannel等。
- 容器网络接口(CNI)插件 :是一种通用的容器插件架构,目前得到Kubernetes、Mesos和CloudFoundry等多个编排工具的支持。更多信息可查看:https://github.com/containernetworking
超级会员免费看
订阅专栏 解锁全文
1508

被折叠的 条评论
为什么被折叠?



