使用kubeasz搭建一套高可用的Kubernetes集群
kubeasz 是基于 ansible 和 shell 制作的工具,可以快速搭建一个高可用的 k8s 集群(二进制部署),不需要额外的负载均衡。项目地址:https://github.com/easzlab/kubeasz, kubeasz 每个版本对应了支持的 k8s 版本, 可以到项目主页查看, 这里使用 kubeasz 版本 3.6.3, 部署 k8s 1.29.0
另见 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
下载 ezdown 部署工具
| 1 | export release=3.6.3 # 设置kubeasz版本 | 
下载 kubeasz 离线包等
下载的文件位于 /etc/kubeasz/ 目录中。
| 1 | # 下载默认版本 | 
部署集群
| 1 | cd /etc/kubeasz/ | 
根据需求修改配置文件
ansible 主机清单(定义主机 IP)/etc/kubeasz/clusters/k8s-cluster/hosts
集群配置文件 /etc/kubeasz/clusters/k8s-cluster/config.yml
开始部署
| 1 | dk ezctl setup k8s-cluster all | 
检查部署结果
查看 kubernetes 集群的组件状态(基本都是通过 systemd 管理的)
在 master 节点上查看
| 1 | systemctl status etcd | 
在 master 和 node 节点上查看
| 1 | systemctl status kubelet | 
清理集群
如果需要执行清理操作:
| 1 | dk ezctl destroy k8s-cluster | 
节点管理
操作机建议保留, 后期进行扩容等会非常方便。
| 1 | # 新增master节点 | 
master 允许调度
| 1 | kubectl uncordon master-01 | 
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
 评论
