輕量級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

顯示全部正常就表示離線安裝成功

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