
easzlab/kubeasz该镜像是基于官方基础镜像(如Ubuntu/Debian)构建的容器化运行环境,用于在容器中执行kubeasz工具,实现Kubernetes集群的部署、管理和运维。kubeasz是一个轻量级Kubernetes集群部署工具,旨在简化Kubernetes的安装配置流程。
kubeasz,避免直接在宿主机安装依赖导致的环境冲突kubeasz的集群管理功能,如节点扩缩容、版本升级、配置调整等kubeasz运行环境与宿主机隔离,避免系统依赖冲突kubeasz及所有必要依赖(如Ansible、kubectl、容器运行时等),无需额外配置kubeasz版本及依赖组件版本,确保不同环境下部署的Kubernetes集群配置一致kubeasz部署脚本,无需手动安装前置依赖kubeasz实例,管理不同集群从容器仓库拉取最新版本镜像(具体仓库地址需根据实际构建源确认,此处以示例仓库为例):
bashdocker pull easzlab/kubeasz:latest
如需指定版本:
bashdocker pull easzlab/kubeasz:v3.0.0 # 替换为实际版本号
bashdocker run -itd \ --name kubeasz-deploy \ --privileged \ -v /opt/kubeasz:/etc/kubeasz \ # 挂载配置目录(持久化集群配置) -v /var/lib/docker:/var/lib/docker \ # 共享宿主机Docker存储(如使用容器运行时) -v /etc/kubernetes:/etc/kubernetes \ # 挂载Kubernetes配置目录 -e K8S_VERSION=v1.24.0 \ # 指定Kubernetes版本 -e NETWORK_PLUGIN=calico \ # 指定网络插件 easzlab/kubeasz:latest
bashdocker exec -it kubeasz-deploy bash # 在容器内执行kubeasz部署命令 cd /etc/kubeasz ./ezctl setup all-in-one
创建docker-compose.yml文件:
yamlversion: '3' services: kubeasz: image: easzlab/kubeasz:latest container_name: kubeasz-deploy privileged: true volumes: - /opt/kubeasz:/etc/kubeasz - /var/lib/docker:/var/lib/docker - /etc/kubernetes:/etc/kubernetes - /var/log/kubeasz:/var/log/kubeasz # 挂载日志目录 environment: - K8S_VERSION=v1.24.0 - NETWORK_PLUGIN=calico - HA_MODE=false # 是否启用高可用模式(true/false) - CLUSTER_NAME=my-k8s-cluster # 集群名称 restart: unless-stopped
启动服务:
bashdocker-compose up -d
| 环境变量名 | 说明 | 默认值 | 可选值 |
|---|---|---|---|
K8S_VERSION | 目标Kubernetes集群版本 | v1.24.0 | v1.18+(具体支持版本参考kubeasz文档) |
NETWORK_PLUGIN | 集群网络插件 | calico | calico/flannel/cilium/weave |
HA_MODE | 是否启用高可用模式 | false | true/false |
CLUSTER_NAME | 集群名称 | kubeasz-cluster | 自定义字符串 |
ETCD_VERSION | etcd版本(高可用模式下生效) | v3.5.4 | etcd官方支持版本 |
CONTAINER_RUNTIME | 容器运行时 | docker | docker/containerd |
容器启动时可通过挂载自定义配置文件覆盖默认配置,配置文件路径:
/etc/kubeasz/cluster.yml:集群基础配置(如节点信息、IP地址段)/etc/kubeasz/hosts:Ansible主机清单(多节点部署时指定节点角色)示例:挂载自定义cluster.yml:
bashdocker run -itd \ ... -v /path/to/custom-cluster.yml:/etc/kubeasz/cluster.yml \ ...
bashdocker logs -f kubeasz-deploy # 或查看挂载的日志文件 tail -f /var/log/kubeasz/deploy.log
bashdocker stop kubeasz-deploy docker restart kubeasz-deploy
bashdocker rm -f kubeasz-deploy
bash# 拉取镜像 docker pull easzlab/kubeasz:latest # 运行容器并部署单节点集群 docker run -it --name kubeasz-demo \ --privileged \ -v /opt/kubeasz-demo:/etc/kubeasz \ -v /var/lib/docker:/var/lib/docker \ -e K8S_VERSION=v1.25.0 \ -e NETWORK_PLUGIN=flannel \ easzlab/kubeasz:latest \ /bin/bash -c "cd /etc/kubeasz && ./ezctl setup all-in-one"
docker-compose.yml:
yamlversion: '3' services: kubeasz: image: easzlab/kubeasz:latest container_name: kubeasz-ha privileged: true volumes: - /opt/kubeasz-ha:/etc/kubeasz - /var/lib/docker:/var/lib/docker - /etc/kubernetes:/etc/kubernetes - /var/log/kubeasz-ha:/var/log/kubeasz - /path/to/hosts:/etc/kubeasz/hosts # 挂载多节点主机清单 environment: - K8S_VERSION=v1.24.0 - HA_MODE=true - NETWORK_PLUGIN=calico - ETCD_VERSION=v3.5.4 restart: unless-stopped
启动并进入容器执行高可用部署:
bashdocker-compose up -d docker exec -it kubeasz-ha bash cd /etc/kubeasz && ./ezctl setup ha




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务