kubeasz二进制安装k8s集群
使用kubeasz 离线安装 k8s集群需要下载四个部分:
kubeasz 项目代码
二进制文件(k8s、etcd、containerd等组件)
容器镜像文件(calico、coredns、metrics-server等容器镜像)
系统软件安装包(ipset、libseccomp2等,仅无法使用本地yum/apt源时需要)
离线文件准备
在一台能够访问互联网的服务器上执行:
下载工具脚本ezdown,举例使用kubeasz版本3.6.5
export release=3.6.5
wget https://github.com/easzlab/kubeasz/releases/download/${release}/ezdown
chmod +x ./ezdown下载kubeasz代码、二进制、默认容器镜像
./ezdown -D -k v1.31.13
-k 是制定k8s二进制的版本,当然还可以加-d 指定docker版本,如:./ezdown -D -k v1.31.13 -d 24.0.9
./ezdown -X nfs-provisioner
增加nfs作为k8s分布式存储
上面两个命令执行完了之后最终生成文件在/etc/kubeasz安装集群
安装依赖,如果不能上网,需要制作本地安装镜像
yum install epel-release -y
yum install ansible ansible-core expect ipvsadm rsyslog iptables nftables ipset -y
cd /etc/kubeasz && ./ezdown -D && ./ezctl new k8s-01修改集群配置文件在/etc/kubeasz/clusters/k8s-cluster01的hosts
修改集群配置文件在/etc/kubeasz/clusters/k8s-cluster01的config.yml
设置自动安装,这里只安装coredns和metric server,如果要安装nfs在集群安装完成后需要执行一下操作
# 在master 执行以下命令
yum install -y nfs-utils
echo "/data/nfsdata *(insecure,rw,sync,no_root_squash)" > /etc/exports
# 执行以下命令,启动 nfs 服务;创建共享目录
mkdir -p /data/nfsdata
# 在master执行
systemctl enable rpcbind
systemctl enable nfs-server
systemctl start rpcbind
systemctl start nfs-server
# 使配置生效
exportfs -r
#检查配置是否生效
exportfs修改kube-lb模版配置/etc/kubeasz/roles/kube-lb/templates/kube-lb.conf.j2
根据自己情况修改
worker_processes 1; ==>worker_processes 8;
worker_connections 3000;==>worker_connections 6000;部署集群
./ezctl setup k8s-cluster01 all本人自己写了个脚本使用kubeasz一键部署k8s 1.31.13集群,并修改kubeasz的ansible playbook 对服务器系统做优化, 必须在root下执行
注:默认情况nfs会和master安装在一台,如果想nfs单独安装,在选择是否安装nfs时,请安装时输入n,选择不安装nfs,之后手动安装

nfs server端提前安装好,并修改nfs-provisioner.yaml中{{ nfs_server }}和{{ nfs_path }}的值
nfs-provisioner.yaml 下载地址: https://1817000129.share.123pan.cn/123pan/uS6yVv-btv5?pwd=6666#
脚本使用方法:
1、kubeasz版本3.6.5 k8s版本1.31.13 系统linux 该脚本需要在root用户下使用,并且允许root直接登录
2、默认数据会存到/data目录,脚本会判断是否已挂在/data目录,如果没有挂载输入y/n确定是否安装,其中/data目录可以是单独的磁盘挂载或者直接在/目录下创建的data目录(可以不用提前创建),直接回车会自动创建或者输入自己的安装目录(可以是单独的磁盘目录也可是/目录下其他目录,输入其他目录时必须以/开头,例如:/data2)
3、脚本会判断是否安装nfs存储,输入y确定安装,输入n跳过安装
4、脚本使用方法:sh kz_deploy_k8s_all.sh deploy $1 $2 注:$1是服务器ip,$2是服务器root密码(如果密码有特殊字符需要用单引号引起来
更新时间20260605 修复一些bug,新增ubuntu系统安装
部署步骤
1、解压
tar -zxvf kz_deploy_k8sv1.31.13.tar.gz

2、切换到安装目录
cd kz_deploy_k8sv1.31.13

3、部署192.168.66.122为我服务器IP,1为我服务器密码,根据自己的情况替换
sh kz_deploy_k8s_all.sh deploy 192.168.66.122 1





下载地址