手把手教你创建容器服务Kubernetes集群

Kubernetes作为目前最流行的容器编排工具,被越来越多的用户所接受,目前也有越来越多的用户开始考虑使用Kubernetes集群来部署生产应用。那么,此时用户可能面临一个问题,如何规划和创建合适的Kubernetes集群呢?

接下来的文章,我们会从如何规划集群以及选择集群的配置,来讲述如何正确的创建集群。

准备工作

在开始创建集群之前,我们需要弄清楚几个网段的概念以及之间的关联。

  • VPC网段。目前VPC网络支持以下几个网段
  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16
  • 交换机网段。交换机网段是在VPC网络下划分的更小的网络单元。可以根据实际的使用情况(主要包括期望的主机数量以及整体的网络规划来确定划分交换机以及网段)来划分不同的交换机
  • Pod网段。Pod网段是指的该集群内所有Pod所在的网段。Pod网段规划需要从以下几点考虑
  • 避免和VPC网段冲突
  • 集群规模(主要是指的集群最多容纳多少节点),受Pod网段和节点Pod数影响。计算公式如下
2^(节点上Pod网段掩码-Pod网段掩码)
  • 示例,例如我们集群的Pod网段是 172.16.0.0/16,节点的pod数为128(此时节点上的Pod网段为 172.16.x.0/25)。因此该集群最多容纳的节点数为
2^(25-16) = 512
  • 避免和Service网段冲突
  • Service网段。Service网段决定最终集群能有多少服务可以通过ClusterIP方式暴露。可以根据集群要部署的应用实际情况来定义。该网段有如下约束:
  • 避免和VPC网段冲突
  • 避免和Pod网段冲突
  • 节点Pod数量。决定每个节点上最多可以容纳多少个Pod,该参数反过来又影响集群可以容纳的节点总量。

创建集群

在弄清楚集群相关的网络关系以后,接下来我们开始创建集群。由于集群创建的参数较多,我们分块来介绍

  • 地域、VPC、付费类型选择

手把手教你创建容器服务Kubernetes集群

备注:对于VPC,建议用户提前规划好网络,使用已有VPC的方式。这样有利于未来考虑多集群通信或者混合部署等方式。

  • Master和Worker 实例规格和磁盘选择

手把手教你创建容器服务Kubernetes集群

备注:Master的系统盘建议选择较合适的大小,避免使用过程中由于系统盘占满导致Master节点出现异常。同时Worker节点推荐挂载数据盘

  • 版本、网段、公网API Server选择

手把手教你创建容器服务Kubernetes集群

备注:版本选择可以根据业务特点以及版本间的差异进行选择;Pod和Service的网段选择尤为重要,这个决定了集群可以容纳的节点数和可以有多少个服务可以以ClusterIP方式暴露。

  • 节点Pod数量

手把手教你创建容器服务Kubernetes集群

备注:可以根据Worker节点的配置以及业务的规划选择合适的节点Pod数,避免不必要的浪费。更重要的是Pod网段和节点Pod数一起决定了集群节点的规模。具体计算公式见准备工作中的介绍

当完成以上步骤以及选择以后,我们就可以创建出一个集群。

总结

该文章的主要目的是帮助用户理解集群中相关的一些基本概念,以及集群网络规划的内容。来帮助用户可以快速的掌握如何正确的创建集群。避免当应用部署后出现由于规划不当带来的影响。

作者:治世

相关推荐