k3s 离线安装升级

下载

Github仓库

Github仓库最新release包:v1.23.5+k3s1

需要下载 k3s-airgap-images-amd64.tark3s。( amd64 环境,其他环境自行选择合适的)

安装脚本

1
wget https://get.k3s.io/ -O install.sh

安装

上传

1
2
mkdir -p /opt/k3s/packages
## 上传 install.sh 、 k3s 执行文件 以及 tar 包

将包转存到对应的位置

1
2
3
4
5
mkdir -p /var/lib/rancher/k3s/agent/images/
mv k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/

mv k3s /usr/local/bin/k3s
chmod +x /usr/local/bin/k3s

安装

1
INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_MIRROR=cn INSTALL_K3S_EXEC="server --disable=traefik --kube-apiserver-arg --service-node-port-range=32000-36000" ./install.sh

解析

INSTALL_K3S_SKIP_DOWNLOAD: 跳过下载
INSTALL_K3S_MIRROR: 使用国内的镜像( 因为是离线,要不要随缘 )
INSTALL_K3S_EXEC: 增加 k3s 启动的参数

–disable=traefik: 停用 traefik,默认使用的 traefik2。
–kube-apiserver-arg –service-node-port-range=32000-36000”: 划分 NodePort 的范围。

结束

查看版本:

1
2
3
root@k3s-m1:~# k3s -v
k3s version v1.22.8+k3s1 (21fed356)
go version go1.16.10

增加 Tab 提示:( 需要预先安装有 bash-completion,没有则跳过,没救 )

1
2
3
4
5
6
cat >> /etc/profile << EOF
source <(kubectl completion bash)
source <(crictl completion bash)
EOF

. /etc/profile

离线升级

当版本进行更新,然后想要离线更新的时候。

重复安装步骤即可。

上传

1
## 上传 install.sh 、 k3s 执行文件 以及 tar 包

将包转存到对应的位置

1
2
3
4
5
6
rm -f /var/lib/rancher/k3s/agent/images/k3s-airgap-images-amd64.tar
mv k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/

rm -f /usr/local/bin/k3s
mv k3s /usr/local/bin/k3s
chmod +x /usr/local/bin/k3s

安装

1
INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_MIRROR=cn INSTALL_K3S_EXEC="server --disable=traefik --kube-apiserver-arg --service-node-port-range=32000-36000" ./install.sh

解析

INSTALL_K3S_SKIP_DOWNLOAD: 跳过下载
INSTALL_K3S_MIRROR: 使用国内的镜像( 因为是离线,要不要随缘 )
INSTALL_K3S_EXEC: 增加 k3s 启动的参数

–disable=traefik: 停用 traefik,默认使用的 traefik2。
–kube-apiserver-arg –service-node-port-range=32000-36000”: 划分 NodePort 的范围。

结束

查看版本:

1
2
3
root@k3s-m1:~# k3s -v
k3s version v1.23.5+k3s1 (313aaca5)
go version go1.17.5