「这是我参与11月更文挑战的第22天,活动详情查看:2021最后一次更文挑战」。
集群规划
基于 K8S 搭建集群有两种形式
- 单 Master 集群
- 多 Master 集群
单Master集群
一个master节点,多个工作节点,这种情况下,多个工作节点可以分摊服务压力,但是master节点将成为系统的瓶颈,一旦master节点故障,整个集群将不可用。
多Master集群
在单Master的基础上,为Master节点扩展,多个Master节点,通过负载均衡实现对各个node的控制。这样避免了单机故障,搭建了一个真正的多节点高可用集群架构。
准备工作
对于群架构来说,最现实的问题就是服务器资源了,以往我们部署多节点,几个节点就需要几台服务器,但是基于K8S,我们最少需要3台服务器,1个master,2个node。
1. 服务器资源
最少 3 台
2. 硬件要求
-
测试环境 | 硬件 | master | node | | :---: | :---: | :---: | | CPU | 2核 | 4核 | | 内存 | 4G | 8G | | 硬盘 | 20G | 40G |
-
正式环境
最低应该为测试环境配置的翻倍,当然具体情况具体分析。
搭建
目前部署K8S集群主要有两种方式
- kubeadm
Kubeadm 是一个K8S部署工具,提供了
kubeadm init和kubeadm join,用于快速部署集群。
- 二进制包
通过二进制包手动部署每个组件,组成集群
Kubeadm 降低部署门槛,但屏蔽了很多细节,遇到问题不容易排查。而使用二进制包的形式,虽然手动部署麻烦点,但是更有利于我们对工作原理的学习,以及后期维护。
服务器准备
集群的搭建服务器是必须的,而且最少需要3台,这个也是比较头疼的事情,我这里是使用vmware创建3台虚拟机,来完成练手学习。