应公司要求,在阿里云上创建托管版的集群。
托管版的好处就是能节省3个管理节点,并且可用性的维护可以由阿里云提供,降低运维的难度。
在创建集群过程里面,曾经踩过好几个坑,建议操作前做好规划和准备。
准备1:网络规划。
- 在VPC网络中,创建不同可用区的交换机,给Pod分配IP使用。划分的子网掩码位数需小于等于 /20。
划分Pod网络的时候,如果k8s的服务还需要和其他ECS服务器互访,并且ECS服务器上使用了docker-compose 进行了服务部署的话,Pod网络的网段,建议避开 172.17.0.0/16 这一段,避免网络调试上出现互访失败的问题,这个坑踩了进去,后来需要定义ECS上的docker-compose的网络才解决。 - 设计k8s 的 Services CIDR,这里要注意,不能与VPC及VPC内已有的k8s集群使用的网段重复。
从经验上,按照自己的服务规模进行划分预估是必要的,假如未来需要有多套k8s集群的话,建议不要设置太大。
准备2:ECS 节点规划
- 准备2台以上的ECS作为工作节点,这个是最低要求,即使是测试环境也是一样。
集群开通操作:(见图)
关于以下几个选项的说明
- 为专有网络配置SNAT:这个实际上会创建一个带公网EIP绑定的NAT网关,如果k8s工作节点是