Ansible部署k8s高可用集群
部署环境:
系统版本 | IP地址 | 主机业务 |
---|---|---|
CentOS Linux release 7.8.2003 (Core) | 192.168.31.61 | master |
CentOS Linux release 7.8.2003 (Core) | 192.168.31.62 | node01 |
CentOS Linux release 7.8.2003 (Core) | 192.168.31.63 | node01 |
确保所有节点系统时间一致
1、下载所需文件
下载Ansible部署文件:
# git clone https://github.com/evanszz/ansible-install-k8s.git
# cd ansible-install-k8s
下载软件包并解压/root目录:
在仓库release中下载即可
# tar zxf binary.tar.gz
2、修改Ansible文件
修改hosts文件,根据规划修改对应IP和名称。
# vi hosts
...
修改group_vars/all.yml文件,修改软件包目录和证书可信任IP。
# vim group_vars/all.yml
software_dir: '/root/binary_pkg'
...
cert_hosts:
k8s:
etcd:
3、一键部署
架构图
单Master架构
多Master架构
部署命令
单Master版:
# ansible-playbook -i hosts single-master-deploy.yml -uroot -k
多Master版:
# ansible-playbook -i hosts multi-master-deploy.yml -uroot -k
4、部署控制
如果安装某个阶段失败,可针对性测试.
例如:只运行部署插件
# ansible-playbook -i hosts single-master-deploy.yml -uroot -k --tags addons
5、节点扩容
1)修改hosts,添加新节点ip
# vi hosts
2)执行部署
ansible-playbook -i hosts add-node.yml -uroot -k
3)在Master节点允许颁发证书并加入集群
kubectl get csr
kubectl certificate approve node-csr-xxx