在部署节点配置ssh免密码登录其他节点
下载ezdown,我这里在的是最新版3.6.8
bash
export release=3.6.8
root@ubuntu:~# wget https://github.com/easzlab/kubeasz/releases/download/${release}/ezdown
chmod +x ./ezdown
修改ezdown文件可以指定k8s等组件版本
执行 ./ezdown -D 下载kubeasz代码、二进制、默认容器镜像
我通过修改ezdown安装k8s最新版1.37.7,但是kubeasz很多镜像还没有发布,安装有很多问题,还是安装默认的版本
bash
2026-04-17 02:30:17 [ezdown:312] INFO downloading kubernetes: v1.34.7 binaries
Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded
2026-04-17 02:30:56 [ezdown:790] ERROR Action failed: download_all
只需要加一行环境变量:export REGISTRY_MIRROR=https://docker.m.daocloud.io 配置其他地方下载镜像?
#容器化运行kubeasz,用于安装k8s集群工具
./ezdown -S
创建集群的初始的配置信息,指定集群名称 k8s-01
bash
root@ubuntu:~# docker exec -it kubeasz ezctl new k8s-01
2026-04-17 11:07:27 [ezctl:145] DEBUG generate custom cluster files in /etc/kubeasz/clusters/k8s-01
2026-04-17 11:07:27 [ezctl:151] DEBUG set versions
2026-04-17 11:07:27 [ezctl:182] DEBUG cluster k8s-01: files successfully created.
2026-04-17 11:07:27 [ezctl:183] INFO next steps 1: to config '/etc/kubeasz/clusters/k8s-01/hosts'
2026-04-17 11:07:27 [ezctl:184] INFO next steps 2: to config '/etc/kubeasz/clusters/k8s-01/config.yml'
修改 /etc/kubeasz/clusters/k8s-01/hosts,配置节点信息
bash
cat /etc/kubeasz/clusters/k8s-01/hosts
[etcd]
192.168.1.131
192.168.1.132
192.168.1.133
[kube_master]
192.168.1.131 k8s_nodename='master-01'
192.168.1.132 k8s_nodename='master-02'
192.168.1.133 k8s_nodename='master-03'
[kube_node]
192.168.1.134 k8s_nodename='worker-01'
192.168.1.135 k8s_nodename='worker-02'
192.168.1.136 k8s_nodename='worker-03'
一键部署所有
root@ubuntu:~# dk ezctl setup k8s-01 all
部署完成后拷贝kubectl命令到各节点
bash
cp /etc/kubeasz/bin/kubectl /usr/local/bin/
root@ubuntu:~# for s in {131..136};do scp /etc/kubeasz/bin/kubectl 192.168.1.$s:/usr/local/bin/;done
配置命令补全
bash
kubectl completion bash > /etc/bash_completion.d/kubectl
source /etc/bash_completion.d/kubectl # 立即生效
