kubeasz 简介

kubeasz 是一个基于 Ansible 的 Kubernetes 集群部署工具,专注于快速部署高可用生产级 Kubernetes 集群。它提供模块化设计,支持灵活配置,适合从开发环境到生产环境的多种场景。

安装依赖

确保目标机器满足以下条件:

  • 操作系统:CentOS 7/8、Ubuntu 16.04/18.04/20.04
  • 至少 2GB 内存,推荐 4GB 以上
  • 所有节点间网络互通,且能通过 SSH 免密登录

安装 Ansible 和 Git:

# CentOS
yum install -y git python3-pip
pip3 install ansible

# Ubuntu
apt update && apt install -y git python3-pip
pip3 install ansible

下载 kubeasz

克隆项目仓库并准备部署文件:

git clone https://github.com/easzlab/kubeasz.git
cd kubeasz && git checkout master
./ezdown -D

配置集群节点

编辑 kubeasz/example/hosts.multi-node,根据实际环境修改节点信息:

[etcd]
192.168.1.1
192.168.1.2
192.168.1.3

[kube-master]
192.168.1.1
192.168.1.2

[kube-node]
192.168.1.3
192.168.1.4

[all:vars]
CONTAINER_RUNTIME="docker"

执行部署

运行 Ansible Playbook 开始部署:

ansible-playbook /etc/ansible/90.setup.yml

部署过程会自动安装 Docker、Kubernetes 组件及依赖,耗时约 10-30 分钟,具体取决于网络和节点性能。

验证集群

部署完成后,检查集群状态:

kubectl get nodes
kubectl get pods -n kube-system

确保所有节点状态为 Ready,且核心组件(如 kube-apiserver、kube-controller-manager)运行正常。

可选功能

  • 启用插件:通过修改 kubeasz/example/config.yml 启用 Ingress、Prometheus 等插件。
  • 升级集群:使用 kubeasz/upgrade.yml Playbook 进行版本升级。
  • 扩容节点:在 hosts.multi-node 中添加新节点后重新运行部署脚本。

注意事项

  • 确保防火墙或安全组放行 Kubernetes 所需端口(如 6443、2379-2380)。
  • 生产环境建议使用离线部署包(通过 ./ezdown -D 下载离线资源)。
  • 详细参数参考官方文档:
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐