如何离线部署k3s
这篇文章给大家分享的是离线部署k3s的详细教程,相信大部分人都还不知道怎么安装部署,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。
部署环境:
系统: ubuntu 16.04
组件: docker-ce18.06 (请提前安装,如果不是docker的,k3s会提供containerd的方式,只是操作没docker方便,这里以docker为示例)
一、下载离线包(放在同一目录)
1.所有的container images
https://github.com/rancher/k3s/releases/download/v1.17.0%2Bk3s.1/k3s-airgap-images-amd64.tar
2.主要的二进制文件k3s
https://github.com/rancher/k3s/releases/download/v1.17.0%2Bk3s.1/k3s
3.下载官方提供的install.sh
https://github.com/rancher/k3s/blob/master/install.sh
二、部署
1.部署master
主要添加跳过镜像下载的参数:
export INSTALL_K3S_SKIP_DOWNLOAD=true
服务端脚本:
#/bin/bashset -esudo cp k3s /usr/local/bin/#use dockersudo docker load < k3s-airgap-images-amd64.tar.gzif [ $(cat install.sh|grep "export INSTALL_K3S_SKIP_DOWNLOAD=true"|wc -l) -eq 0 ];then sudo sed -i 3i"export INSTALL_K3S_SKIP_DOWNLOAD=true" install.shfisudo bash install.sh#use dockerif [ $(cat /etc/systemd/system/k3s.service|grep server|grep docker|wc -l) -eq 0 ];then sudo sed -i 's?server?server --docker?g' /etc/systemd/system/k3s.servicefi sudo systemctl daemon-reloadsudo systemctl restart k3sbash create-client.sh docker
2.生成agent脚本,添加token到服务的文件中
模板脚本client-tmp-docker.sh:
#!/bin/bashset -ecp -f k3s /usr/local/bin/K3S_TOKEN="TOKENK3S-SERVER"cat >k3s-agent.service<
生成client.sh的脚本create-client.sh
#!/bin/bashset -eK3S_TOKEN=$(sudo cat /var/lib/rancher/k3s/server/node-token)if [ "$1" != "docker" ];then cat client-tmp-containerd > client-k3s.sh sed -i "s?TOKENK3S-SERVER?$K3S_TOKEN?g" client-k3s.sh sed -i "s?SEVERKESIP?$(hostname -i)?g" client-k3s.shelse cat client-tmp-docker > client-k3s.sh sed -i "s?TOKENK3S-SERVER?$K3S_TOKEN?g" client-k3s.sh sed -i "s?SEVERKESIP?$(hostname -i)?g" client-k3s.shfi
3.部署agent
复制client.sh、k3s、k3s-airgap-images-amd64.tar、install.sh到需要部署agent的主机上,一定要放在同一目录下
执行cd /path && bash client.sh
完成后验证:
看完这篇文章,你们学会离线部署k3s的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读。