autok3s
autok3s是一个管理k3s集群的工具
它带有界面,支持制作k3s集群离线部署包,支持通过界面创建k3s集群。
部署autok3s,二进制包部署方式
cp -r autok3s_linux_amd64 /usr/local/bin/autok3s
chmod a+x /usr/local/bin/autok3s
离线包管理
通过在线环境利用autok3s制作最新版本的离线部署包
# 离线下载包
autok3s airgap create k3s1v1293 --arch "amd64 arm64" --k3s-version v1.29.3+k3s1
autok3s airgap create k3s1v12712 --arch "amd64" --k3s-version v1.27.12+k3s1
#导出为指定压缩格式,当前目录会有k3s1v1293.tar.gz
autok3s airgap export k3s1v1293 `pwd`
autok3s airgap export k3s1v12712 `pwd`
然后,到离线环境中,通过autok3s导入离线包
autok3s airgap import /root/k3s1v1293.tar.gz k3s1v1293-1
autok3s airgap import /root/k3s1v12712.tar.gz k3s1v12712-1
部署k3s集群
运行autok3s指向命令行部署k3s集群(用户名需要有免输入密码的sudo权限)
autok3s airgap ls
autok3s -d create \
--provider native \
--name myk3s \
--ssh-user <ssh-user> \
--ssh-password <ssh-password> \
--master-ips 192.168.122.62
--package-name k3s1v1293-1
--master-extra-args '--disable coredns,traefik,servicelb,local-storage,metrics-server --disable-helm-controller --disable-cloud-controller --disable-network-policy --flannel-backend=none --service-cidr=10.43.0.0/16 --service-node-port-range=30000-32767 --cluster-dns=10.43.0.10 --cluster-domain=cluster.local --data-dir=/data/k3s --kube-proxy-arg='proxy-mode=ipvs ipvs-scheduler=rr''
待优化
加载内核ipvs模块
modprobe ip_vs
modprobe ip_vs_rr
modprobe ip_vs_wrr
modprobe ip_vs_sh
modprobe nf_conntrack
#安装ipvsadm工具
apt-get install ipvsadm
待优化参数
--kubelet-arg='container-runtime=remote, container-log-max-files=2, container-log-max-size=10Mi'
--kube-proxy-arg='proxy-mode=ipvs, ipvs-scheduler=rr'
--kube-apiserver-arg=''
--kube-scheduler-arg=''
--kube-controller-manager-arg=''
卸载集群
运行autok3s命令卸载k3s集群
autok3s -d delete --provider native --name myk3s
如卸载遇到问题,可执行使用以下命令下载
/usr/local/bin/k3s-uninstall.sh
rm -rf /data/k3s #删除k3s 数据
卸载集群后,重启集群所在的节点以清理tun0
网络虚拟接口等残留信息。
升级集群
运行autok3s命令升级k3s集群,以--package-name
指定离线包;如果非离线安装的话需要–k3s-channel、–k3s-install-script、–k3s-version三个参数指定一个即可。
autok3s upgrade --provider native --name myk3s --package-name k3s1v1294-1