AWS K8s服务EKS开始支持IPv6

AWS宣布,用户可以在EKS(Elastic Kubernetes Service)上,部署使用IPv6地址空间的应用程序。

用户可以通过使用Kubernetes,来标准化云计算和本地端应用程序基础设施平台,而Kubernetes使用平面的网络模型,该模型要求每个Pod都需要使用一个IP地址,AWS提到,这种方法能够使应用程序,简单地从虚拟机搬迁到容器中,但缺点就是要大量的IP地址。

部分私有的VPC IPv4网络无法处理如此大量的IP地址需求,管理员便会通过安装容器网络扩展组件(CNI),在VPC之上创建一个IP地址虚拟层,但该架构限制了管理员观察和排除应用程序故障的能力,对大规模网络性能产生负面影响。

此外,为了与VPC外的互联网服务相互通信,来自IPv4 Pod的流量,在到达目的地之前,会通过多个网络跳跃点进行路由,而这会增加延迟,并给需要维护复杂路由配置的网络工程团队,带来更大的维护压力。

AWS表示,要避免IP位置耗尽,最大程度减少延迟,以及简化路由配置,解决方案便是使用IPv6。将EKS集群结合IPv6网络,主要具有四个优点,第一,用户可以在单个主机和子网上,执行更多的Pod,而且不会用尽VPC上所有可用的IPv4地址,第二,则是能避免额外的NAT跳跃点,允许本地、AWS和互联网上执行的其他IPv6服务,进行低延迟通信。

第三则是能降低网络工程师维护复杂路由配置的负担,Kubernetes集群管理员也可以专注于搬迁和扩展应用程序,不需要花费精力解决IPv4限制,最后,一旦Pod网络配置完成,Pod便可以在集群之外,和IPv4应用程序通信,这让用户可以在EKS上获得IPv6的优势,但又不需要将组织中部署的所有相关服务搬迁到IPv6。

EKS的IPv6地址,同样由VPC CNI Kubernetes扩展组件配置,该组件会自动依据用户在创建集群时,对Pod所做的选择进行配置,而且用户也只能在创建集群时激活IPv6,目前还无法将集群从IPv4直接搬迁使用IPv6,用户想要搬迁现有集群使用IPv6,便需要将工作负载重新部署到IPv6集群中,并且逐渐将流量从IPv4转移到IPv6上。