深度解析容器服务Kubernetes集群容量以及网络规划

简介: #背景 在目前云原生技术被如火如荼的大规模使用的过程中。越来越多的用户都会使用Kubernetes集群去部署其应用。但是在这个过程中,如果由于早期对于容量和网络的规划不当,可能造成实际生产中实践中,不能满足业务的真实需要。如果此时在重新规划就面临着集群重建、应用迁移的诸多事项,这样不仅仅浪费了大量的精力,甚至可能会造成业务有一定的中断。因此,为了使得广大使用者可以更加深入的理解阿里云容器服务Ku

背景

在目前云原生技术被如火如荼的大规模使用的过程中。越来越多的用户都会使用Kubernetes集群去部署其应用。但是在这个过程中,如果由于早期对于容量和网络的规划不当,可能造成实际生产中实践中,不能满足业务的真实需要。如果此时在重新规划就面临着集群重建、应用迁移的诸多事项,这样不仅仅浪费了大量的精力,甚至可能会造成业务有一定的中断。因此,为了使得广大使用者可以更加深入的理解阿里云容器服务Kubernetes集群容量和网络规划,本文章会详细介绍相关概念以及如何进行规划。

概念

集群容量

这所指的集群容量,指的一个Kubernetes集群最多能容纳的节点总数。

VPC网段

为了可以顺利的在容器服务中创建VPC的容器集群,首先我们需要根据实际的情况规划网络。创建VPC网络的时候,您必须指定对应的CIDR来划分对应的子网,如果想了解更多的关于CIDR的信息,参见RFC4632了解更多关于 CIDR 的信息.
每个专有网络只能指定 1 个网段,网段范围如下,其中 172.16.0.0/12 是默认专有网络使用的网段。

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

容器Pod网段

在创建容器服务Kubernetes集群的时候,需要用户指定对应的Pod网段,目前容器服务支持的容器网段如下:

  • 192.168.0.0/24
  • 172.[16-31].1.0/16
  • 10.0.0.0/8

Flannel

使用的是简单稳定的社区的Flannel CNI 插件,配合阿里云的VPC的高速网络,能给集群高性能和稳定的容器网络体验,但功能偏简单,支持的特性少,例如:不支持基于Kubernetes标准的Network Policy。

Terway

Terway是阿里云容器服务自研的网络插件,将阿里云的弹性网卡分配给容器,支持基于Kubernetes标准的NetworkPolicy来定义容器间的访问策略,支持对单个容器做带宽的限流。对于不需要使用Network Policy的用户,可以选择Flannel,其他情况建议选择Terway。

规划

接下来,我们就按Flannel和Terway两种类型就行相应的规划说明。

Flannel

在使用Flannel网络的场景下,集群的规模以及网络规划相对比较简单一些,主要受限于集群所在的VPC网段、pod网络以及每台节点可以最多部署的Pod数量。

集群规模的计算公式为:2 ^ (节点pod数量对应的掩码 - Pod网段掩码 ) 。例如 我们的Pod网段为 172.16.0.0/16,每台节点的Pod数为128(对应的掩码是25), 那么该集群的规模 = 2 ^ (25-16) = 512 ,也就是说该集群最多能容纳512个节点。

当然,这个集群的规模还受限于集群所使用的VPC网段所能容纳的节点数。一般来说这个问题不大,我们假设一个比较极端的场景,例如我们的VPC网段是 192.168.0.0/16 ,则该VPC最多能容纳的主机数是 2^16 , 此时假设我们设置的Pod网段是 10.0.0.0/8 ,每台节点的Pod 数为 128 (对应的掩码是 25),那么该集群的规则为 2 ^ (25 - 8) = 2^17 。由此我们可以看到集群最多能容纳的节点数已经超过了VPC网络最多能容纳的主机数。

另外由于Flannel网络场景下,为了保证每个Pod可以互联互通,在VPC的路由表里添加了节点对应网段的路由,由于VPC路由表的默认路由条目是48条,因此一旦集群的规模多于48个节点,建议提工单申请VPC路由表上限。

总上所述,在使用Flannel的场景下,需要从VPC网段、Pod网段以及节点能容纳的Pod数总和考量,来规划整体的集群容量以及Pod网段。

Terway

对于使用Terway网络而言,由于涉及到独占和共享两种方式,而且还涉及到所使用的ECS实例的规格,由于不同的实例规则可以容纳的ENI数量是有限的。

以下示例是一个实例规格的属性

{
    "CpuCoreCount": 32,
    "InstanceTypeFamily": "ecs.mn4",
    "InstanceBandwidthRx": 5120000,
    "InstancePpsRx": 500000,
    "InstancePpsTx": 500000,
    "EniQuantity": 8,     //弹性网卡数量
    "InstanceTypeId": "ecs.mn4.8xlarge",
    "GPUSpec": "",
    "InstanceBandwidthTx": 5120000,
    "InstanceFamilyLevel": "EntryLevel",
    "MemorySize": 128,
    "GPUAmount": 0,
    "LocalStorageCategory": "",
    "EniPrivateIpAddressQuantity": 4  //每张弹性网络最多可以虚拟多少IP
}

从以上,我们可以看出,如果是独占模式,由于每个Pod会使用一张独立的弹性网卡,因此该规格的机器最多能容纳8个Pod;反之,如果是共享模式,由于每张网卡可以虚拟4个IP,因此该规则的机器最多可以容纳 8 *4 = 32 个Pod。

当使用Terway的时候,我们需要指定一个Terway的交换机作为容器的网段,此时集群内能容纳的主机数,会有该交换机的网段以及节点的类型等决定。例如我们的Pod交换机网段是 172.16.1.0/24, 意味着该交换机内做多能容纳 256个IP,如果我们集群内的节点都使用如上所示的实例规则,如果在独占模式下,该集群最多能容纳的节点数为 256/8 = 64 台;反之如果在共享模式下,该集群最多能容纳的节点数为 256/32 = 8 台。

综上所述,在选择Terway网络的场景下,Pod网段的交换机选择很重要,在规划之前可以根据实例上容难的弹性网卡数量等做一个比较合理的计算和规划。

总结

其实对于Kubernetes集群网络规划并没有想象的那么复杂,只要弄明白每种网络组件之间的差异,以及和集群规模、VPC网络、路由等之间的关系,结合业务情况科学、合理的规划容量和网络,会起到事半功倍的效果。

相关文档

  • VPC网络相关资料详见文档
  • 容器服务资料[详见文档]
相关实践学习
使用ACS算力快速搭建生成式会话应用
阿里云容器计算服务 ACS(Container Compute Service)以Kubernetes为使用界面,采用Serverless形态提供弹性的算力资源,使您轻松高效运行容器应用。本文将指导您如何通过ACS控制台及ACS集群证书在ACS集群中快速部署并公开一个容器化生成式AI会话应用,并监控应用的运行情况。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
6月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
10月前
|
运维 Kubernetes 前端开发
如何用 eBPF 实现 Kubernetes 网络可观测性?实战指南
本文深入探讨了Kubernetes网络观测的挑战与eBPF技术的应用。首先分析了传统工具在数据碎片化、上下文缺失和性能瓶颈上的局限性,接着阐述了eBPF通过零拷贝观测、全链路关联和动态过滤等特性带来的优势。文章进一步解析了eBPF观测架构的设计与实现,包括关键数据结构、内核探针部署及生产环境拓扑。实战部分展示了如何构建全栈观测系统,并结合NetworkPolicy验证、跨节点流量分析等高级场景,提供具体代码示例。最后,通过典型案例分析和性能数据对比,验证了eBPF方案的有效性,并展望了未来演进方向,如智能诊断系统与Wasm集成。
439 0
|
11月前
|
人工智能 监控 安全
NTP网络子钟的技术架构与行业应用解析
在数字化与智能化时代,时间同步精度至关重要。西安同步电子科技有限公司专注时间频率领域,以“同步天下”品牌提供可靠解决方案。其明星产品SYN6109型NTP网络子钟基于网络时间协议,实现高精度时间同步,广泛应用于考场、医院、智慧场景等领域。公司坚持技术创新,产品通过权威认证,未来将结合5G、物联网等技术推动行业进步,引领精准时间管理新时代。
|
7月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
620 11
|
7月前
|
安全 网络性能优化 网络虚拟化
网络交换机分类与功能解析
接入交换机(ASW)连接终端设备,提供高密度端口与基础安全策略;二层交换机(LSW)基于MAC地址转发数据,构成局域网基础;汇聚交换机(DSW)聚合流量并实施VLAN路由、QoS等高级策略;核心交换机(CSW)作为网络骨干,具备高性能、高可靠性的高速转发能力;中间交换机(ISW)可指汇聚层设备或刀片服务器内交换模块。典型流量路径为:终端→ASW→DSW/ISW→CSW,分层架构提升网络扩展性与管理效率。(238字)
1695 0
|
11月前
|
机器学习/深度学习 人工智能 算法
深度解析:基于卷积神经网络的宠物识别
宠物识别技术随着饲养规模扩大而兴起,传统手段存在局限性,基于卷积神经网络的宠物识别技术应运而生。快瞳AI通过优化MobileNet-SSD架构、多尺度特征融合及动态网络剪枝等技术,实现高效精准识别。其在智能家居、宠物医疗和防走失领域展现广泛应用前景,为宠物管理带来智能化解决方案,推动行业迈向新高度。
1098 66
|
8月前
|
XML JSON JavaScript
从解决跨域CSOR衍生知识 Network 网络请求深度解析:从快递系统到请求王国-优雅草卓伊凡
从解决跨域CSOR衍生知识 Network 网络请求深度解析:从快递系统到请求王国-优雅草卓伊凡
183 0
从解决跨域CSOR衍生知识 Network 网络请求深度解析:从快递系统到请求王国-优雅草卓伊凡
|
10月前
|
开发者
鸿蒙仓颉语言开发教程:网络请求和数据解析
本文介绍了在仓颉开发语言中实现网络请求的方法,以购物应用的分类列表为例,详细讲解了从权限配置、发起请求到数据解析的全过程。通过示例代码,帮助开发者快速掌握如何在网络请求中处理数据并展示到页面上,减少开发中的摸索成本。
鸿蒙仓颉语言开发教程:网络请求和数据解析
|
11月前
|
网络架构
广播域与冲突域:解析网络技术中的复杂性。
总的来说,理解广播域和冲突域的概念可以使我们在设计或维护网络的过程中,更有效地管理通信流程,避免出现网络瓶颈,提成整体网络性能。就像是如何有效地运作一个市场,把每个人的需求和在合适的时间和地点配对,确保每个人的声音都被听到,每个人的需求都被满足。
349 11
|
11月前
|
机器学习/深度学习 算法 测试技术
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
本文探讨了基于图的重排序方法在信息检索领域的应用与前景。传统两阶段检索架构中,初始检索速度快但结果可能含噪声,重排序阶段通过强大语言模型提升精度,但仍面临复杂需求挑战
366 0
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析

相关产品

  • 容器计算服务
  • 容器服务Kubernetes版
  • 推荐镜像

    更多
  • DNS