前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何合理规划TKE集群网络

如何合理规划TKE集群网络

原创
作者头像
聂伟星
发布2021-02-10 15:58:45
1.2K0
发布2021-02-10 15:58:45
举报
文章被收录于专栏:腾讯云容器运维

创建TKE集群第一步就是为集群配置网络信息,大家都知道云资源都是部署在vpc网络中,但是由于TKE产品特殊性,我们这里还要用到一层虚拟的网络,就是我们的容器网络,容器网络可以通过容器路由直接通过 VPC,这样容器与节点分布在同一网络平面,并且容器网段分配灵活,容器 IP 段不占用 VPC 的其他网段。

那也就说我们需要规划下2层网络,一层是vpc网络,一层是容器网络,为什么说需要合理的规划下呢?因为在vpc下可能不止一个集群,每个集群的网段cidr都是不能冲突的,集群有可能还需要和idc或其他vpc互通,这里通常是云联网或者对等连接,云联网和对等连接里面的路由也都是不能冲突的。所以我们这里需要合理的给集群分配好网络cidr,避免路由冲突。

那么容器网络到底什么情况会用到呢?TKE这里提供了2中集群网络模式,一种是GlobalRouter(简称GR),还有一种是vpc-cni,GR模式的集群,pod和service是需要用到容器网络的。vpc-cni其实也是需要用到容器网络的,虽然这个模式下pod是位于vpc内,但是集群的service是虚拟的网络,这里就需要从容器网络来分配一个cidr作为service网段。

下面就具体来说说如何配置vpc子网和容器网段cidr,这里我们的vpc网络为10.0.0.0/16,容器网络为172.16.0.0/16,地域为广州,后续实验和说明都是基于上面2个网段。

vpc下我们需要给每个可用区创建子网,因为通常需要做多可用区的容灾和高可用,vpc的子网可以尽可能的遵循最小原则规划,这个最小原则可以根据自己实际需求配置,这里我们统一选择为24掩码来分配子网。这里我们可以根据不同用途来分配子网,我们可以把子网分为以下4类:

  • cloud-resource:主要用来存放云资源,如cvm,clb,数据库
  • CNI:主要用于vpc-cni模式容器网段,用于pod的ip分配
  • CNI-FIXED:用于vpc-cni模式下pod固定ip的分配
  • GR-CNI:混合网络模式下,用于vpc-cni子网,如果不熟悉这个模式,可以参考这个文档https://cloud.tencent.com/developer/article/1786193

这里我们只是为了做说明,每种类型只创建了一个子网,如果发现ip不够了,可以在对应的可用区创建对应的子网,例如广州一区的cloud-resource类型子网ip不够了,我们可以创建一个subnet-gz1-cr-2(10.0.20.0/24)

cloud-resource(这种类型子网用来放云资源)

CNI(vpc-cni模式下给pod分配ip)

CNI-FIXED(vpc-cni模式下固定ip)

GR-CNI(混合网络模式下用于vpc-cni子网)

广州一区

subnet-gz1-cr-1 (10.0.0.0/24)

subnet-gz1-cni-1 (10.0.1.0/24)

subnet-gz1-cni-fixed-1 (10.0.2.0/24)

subnet-gz1-gr-cni-1 (10.0.3.0/24)

广州二区

subnet-gz2-cr-1 (10.0.4.0/24)

subnet-gz2-cr-1 (10.0.5.0/24)

subnet-gz2-cni-fixed-1 (10.0.6.0/24)

subnet-gz2-gr-cni-1 (10.0.7.0/24)

广州三区

subnet-gz3-cr-1 (10.0.8.0/24)

subnet-gz3-cr-1 (10.0.9.0/24)

subnet-gz3-cni-fixed-1 (10.0.10.0/24)

subnet-gz3-gr-cni-1 (10.0.11.0/24)

广州四区

subnet-gz4-cr-1 (10.0.12.0/24)

subnet-gz4-cr-1 (10.0.13.0/24)

subnet-gz4-cni-fixed-1 (10.0.14.0/24)

subnet-gz4-gr-cni-1 (10.0.15.0/24)

广州六区

subnet-gz6-cr-1 (10.0.16.0/24)

subnet-gz6-cr-1 (10.0.17.0/24)

subnet-gz6-cni-fixed-1 (10.0.18.0/24)

subnet-gz6-gr-cni-1 (10.0.19.0/24)

上面我们是对vpc网络进行了规划,那么容器网路我们需要怎么来规划呢?

  • GR模式集群容器网络:分配容器网络给集群使用
  • vpc-cni模式service网络:分配容器网络作为集群service网段

这里我们根据实际需要规划好网络,其实容器网段可以大致分为下面几段

172.16.0.0/16-24

172.18.0.0/16-24

172.20.0.0/16-24

172.22.0.0/16-24

172.24.0.0/16-24

172.26.0.0/16-24

172.28.0.0/16-24

172.31.0.0/16-24

我们可以将每一个网段作为不同用途,还是遵循最小原则,下面我们以2个网段来作为示例进行规划

172.16.0.0/16-24(vpc-cni模式service网络)

172.18.0.0/16-24(GR模式集群容器网络)

假设每个集群service大概有2048个,可以进行如下方式配置网段 A集群service网段:172.16.0.0/23 B集群service网段:172.16.2.0/23 C集群service网段:172.16.4.0/23 ......

假设每个GR模式集群每个节点运行64个pod,分配2048个service,30个节点左右,可以进行如下方式分配网段 集群1:172.18.0.0/20 集群2:172.18.16.0/20 集群3:172.18.32.0/20 .......

大致分配可以遵循上面的原则分配,如果你的vpc直接需要互通,这里在vpc和容器网段的选择上也要尽可能的小,这边才能保证网段不会冲突。私有网络有10.0,172.16,192.168,这3个,大家可以根据实际来选择配置vpc和容器网段。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档