使用kubeasz搭建一套高可用的Kubernetes集群
kubeasz 是基于ansible和shell制作的工具,可以快速搭建一个高可用的k8s集群(二进制部署),不需要额外的负载均衡。项目地址:https://github.com/easzlab/kubeasz, kubeasz 每个版本对应了支持的k8s版本, 可以到项目主页查看, 这里使用 kubeasz版本3.0.0, 部署k8s 1.18.2
另见kubeadm部署
在centos使用kubeadm部署k8s
在ubuntu使用kubeadm部署k8s
安装准备
准备机器如下:
机器 | IP |
---|---|
kubeasz操作机 | 10.0.0.7 |
master1 | 10.0.0.31 |
master2 | 10.0.0.32 |
master3 | 10.0.0.33 |
worker1 | 10.0.0.41 |
首先确保操作机可以通过ssh连接到其他所有机器,最好密钥打通(这是使用ansible的必要条件)
安装kubeasz
安装ansible
1 | yum install epel-release -y |
下载ezdown部署工具
1 | export release=3.0.0 # 设置kubeasz版本 |
下载kubeasz离线包等
1 | # 下载默认版本 |
下载的文件位于/etc/kubeasz
目录
下载离线deb/rpm包
(可选) 适用于纯内网环境,无法连接网络
1 | ./ezdown -P |
部署集群
1 | cd /etc/kubeasz/ |
根据需求修改配置文件
ansible主机清单(定义主机IP)/etc/kubeasz/clusters/k8s-cluster/hosts
集群配置文件 /etc/kubeasz/clusters/k8s-cluster/config.yml
开始部署
1 | ./ezctl setup k8s-cluster all |
检查部署结果
查看 kubernetes 集群的组件状态(基本都是通过 systemd 管理的)
在 master 节点上查看
1 | systemctl status etcd |
在 master 和 node 节点上查看
1 | systemctl status kubelet |
清理集群
如果需要执行清理操作:
1 | ./ezctl destroy k8s-cluster |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 BLOG!