轻量级Kubernetes:K3S离线环境安装

背景介绍

部分公司无法连接外网,需要离线安装,官方安装教程英文,在此记录一下搬运的安装方法。

1、下载需要版本的K3S二进制文件

首先去Github获取下载地址,也可去码云镜像仓库加速下载。
Github官方地址
Gitee镜像仓库地址
获取图中所示文件的链接
在这里插入图片描述
以下命令行以v1.18.4+k3s1版本为例

wget https://github.com/rancher/k3s/releases/download/v1.18.4%2Bk3s1/k3s

2、设置可执行权限

chmod 755 k3s

3、移动至/usr/local/bin目录下

也可利用Xftp直接上传,但是要记得修改执行权限。

cp k3s /usr/local/bin/k3s

4、执行命令验证

[root@iz2zeh0l1z8k2z5qifxbknz ~]# which k3s
/usr/local/bin/k3s
[root@iz2zeh0l1z8k2z5qifxbknz ~]# k3s --version
k3s version v1.18.4+k3s1 (97b7a0e9)

5、下载官方脚本

官方脚本地址
将官方脚本地址打开后得到一串代码,复制到自己创建的文件中去,命名为install.sh,但是要注意由于Linux与Windows系统编码格式不同,若在Windows系统下复制粘贴则会报错invalid option 2: set: -,原因是,文件为dos格式,应该修改为 unix格式。
解决方法为:在vim 编辑栏 可以使用set ff 查看文件格式

: set ff

显示如下

fileformat=unix

修改为

set ff=unix

推荐直接在Linux系统中直接生成文件复制粘贴
或使用下载命令

curl https://raw.githubusercontent.com/rancher/k3s/master/install.sh -o install.sh

6、设置环境变量

设定K3S离线安装环境变量

export INSTALL_K3S_SKIP_DOWNLOAD=true

7、执行安装脚本

install.sh脚本目录下执行

sh install.sh

输出日志

[root@iz2zeh0l1z8k2z5qifxbknz ~]# sh install.sh
[INFO]  Skipping k3s download and verify
[INFO]  Creating /usr/local/bin/kubectl symlink to k3s
[INFO]  Creating /usr/local/bin/crictl symlink to k3s
[INFO]  Skipping /usr/local/bin/ctr symlink to k3s, command exists in PATH at /usr/bin/ctr
[INFO]  Creating killall script /usr/local/bin/k3s-killall.sh
[INFO]  Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO]  env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO]  systemd: Creating service file /etc/systemd/system/k3s.service
[INFO]  systemd: Enabling k3s unit
Created symlink from /etc/systemd/system/multi-user.target.wants/k3s.service to /etc/systemd/system/k3s.service.
[INFO]  systemd: Starting k3s

8、确认版本信息

[root@iz2zeh0l1z8k2z5qifxbknz ~]# kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.4+k3s1", GitCommit:"97b7a0e9df2883f08028fb7171c1e62fc1899a0c", GitTreeState:"clean", BuildDate:"2020-06-18T01:30:45Z", GoVersion:"go1.13.11", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.4+k3s1", GitCommit:"97b7a0e9df2883f08028fb7171c1e62fc1899a0c", GitTreeState:"clean", BuildDate:"2020-06-18T01:30:45Z", GoVersion:"go1.13.11", Compiler:"gc", Platform:"linux/amd64"}

9、确认节点信息

[root@iz2zeh0l1z8k2z5qifxbknz ~]# kubectl get node -o wide
NAME                      STATUS   ROLES    AGE   VERSION        INTERNAL-IP      EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION               CONTAINER-RUNTIME
iz2zeh0l1z8k2z5qifxbknz   Ready    master   69s   v1.18.4+k3s1   172.17.106.133   <none>        CentOS Linux 7 (Core)   3.10.0-514.26.2.el7.x86_64   containerd://1.3.3-k3s2

显示全部正常就表示离线安装成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章