当前快速部署一套高可用Kubernetes集群的工具有很多,如kubeadm、kubekey等,都各有千秋,那如何挑选一把属于自己的运维利器呢?这篇文章或许能让你找到答案。
01、背 景
在当今的云原生时代,Kubernetes已经成为容器编排的事实标准。然而,对于许多组织或个人来说,部署和管理Kubernetes集群依然是一个复杂且繁琐的过程。为了简化这一过程,我们需要选择一款可靠的、易用的、高效的工具来帮助我们去打破这个局面,在这里我推荐一款工具--kubeasz。
02、介 绍
kubeasz是基于二进制方式部署和利用ansible-playbook
实现自动化的,能够快速部署高可用的Kubernetes集群,另外还能高效地维护Kubernetes集群,如节点管理、etcd管理、集群备份等,这是其他工具所不具备的,同时,他也是经过CNCF官方认证的开源工具,社区非常活跃,已经支持最新版的Kubernetes1.30.1部署。
03、安 装
用kubeasz拉起一套k8s集群的操作很是便捷,后续的集群维护也可以通过ansible-playbook进行维护,简直是省时省力,当然,如果是刚接触k8s,我还是推荐先用kubeadm进行部署,这样有助于加深对k8s的认知,熟悉了之后再来使用这些快捷部署工具会好些,好了,让我们看下如何快速拉起一个k8s集群吧。
下载工具脚本ezdown,举例使用kubeasz版本3.6.4
代码语言:javascript复制export release=3.6.4
wget https://github.com/easzlab/kubeasz/releases/download/${release}/ezdown
chmod x ./ezdown
下载kubeasz代码、二进制、默认容器镜像(更多关于ezdown的参数,运行./ezdown 查看)
代码语言:javascript复制# 下面的指令二选一即可
# 国内环境
./ezdown -D
# 海外环境
./ezdown -D -m standard
创建集群配置实例
代码语言:javascript复制# 容器化运行kubeasz
./ezdown -S
# 创建新集群 k8s-101
docker exec -it kubeasz ezctl new k8s-01
2024-06-09 10:30:21 DEBUG generate custom cluster files in /etc/kubeasz/clusters/k8s-101
2024-06-09 10:30:21 DEBUG set version of common plugins
2024-06-09 10:30:21 DEBUG cluster k8s-01: files successfully created.
2024-06-09 10:30:21 INFO next steps 1: to config '/etc/kubeasz/clusters/k8s-101/hosts'
2024-06-09 10:30:21 INFO next steps 2: to config '/etc/kubeasz/clusters/k8s-101/config.yml'
然后根据提示配置'/etc/kubeasz/clusters/k8s-101/hosts' 和 '/etc/kubeasz/clusters/k8s-101/config.yml':根据前面节点规划修改hosts 文件和其他集群层面的主要配置选项;其他集群组件等配置项可以在config.yml 文件中修改。
在完成上述步骤后,便可以一键部署k8s集群了
代码语言:javascript复制docker exec -it kubeasz ezctl setup k8s-101 all
04、总 结
这是一款我使用多年的k8s集群部署和维护工具,很是好用,更新也快,在k8s 1.30出来没多久他就支持了,很赞,当然kubekey也是不错的,条条大路通罗马,选择一款适合自己的工具很是重要,这期就分享到这里,谢谢!
参考链接(更多的使用详见官方文档)
https://github.com/easzlab/kubeasz