05.本地vagrant安装k8s集群,全自动
1 怎就全自动了?
全自自动是指,达到环境要求(vagrant1 +
virtualbox`),然后把配置一拉,再一启动,启动中再喝喝荼啥的,然后就搞定了。
就3步,拉配置,启动和喝荼(等待下), 就可以了,步骤十分少,全是全自动.
2 环境要求
vagrant
+virtualbox
3 启动集群服务
$ git clone https://github.com/wuchuhengtools/vagrant_k8s_cluster # 获取vagrant的配置项目
$ cd vagrant_k8s_cluster # 进入项目中
$ vagrant up # <-- 启动集群
$ vagrant ssh master # <-- 登录master 节点
$ sudo su && kubectl get nodes # <-- 获取节点状态
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 108m v1.21.3
node0 Ready <none> 102m v1.21.3
node1 Ready <none> 96m v1.21.3
原理说明
其实就是把要安装和配置的都写在了脚本中, vagrant
初始化时自动会执行这些脚本的,
├── README.md
├── Vagrantfile # vagrant 配置文件, 当中配置了 master ip 和 node组ip
├── init-flannel.sh # <-- 初始化k8s 网络用的脚本
├── master.sh # <-- 初始化master 节点用的脚本
└── node.sh # <-- 初始化 node 节点的脚本
如果想要更多的节点,可以Vagrantfile
修改node
组ip
...
masterIp = "192.168.33.200"
# configures the group of node ip
nodesIP = [
"192.168.33.201",
"192.168.33.202",
... # <-- 在这里接着加
]
...
小结
总体来说,思路就是在初始化虚拟机时,通过虚拟机的初始化就运行脚本的契机,把需要的配置和软件安装都写成bash
脚本,
从而实现整个k8s
集群的初始化的自动化。而实现的细节都在项目仓库vagrant_k8s_cluster中