Rancher 2.4是Rancher目前最新的版本,在這一版本中你可以通過Rancher UI對K3s集群進行升級控制。
K3s是一個輕量級Kubernetes發布版,借助它你可以幾分鐘之內建置你的開闢Kubernetes環境。它極度實用于生產用例,重要用于IoT和Edge器材。
在Rancher 2.4中,你可以導入K3s集群并且可以通過Rancher本身對其進行升級控制。在本篇教程中,我們將了解如何在一個正在運行的K3s集群上執行即時升級。
Step1:創造K3s集群
在執行升級之前,我們需求發動一個K3s集群。在本文中我是在一個CentOS VM上發動的,你可以在任意云上執行這一操縱。
登錄到VM,并運行以下號召:
“`
[rootdemo3 ~]# curl -sfL [sget.k3s.io] | INSTALL_K3S_VERSION=”v1.0.1″ sh -s -**
Using v1.0.1 as release
Donloading hash [sgithub.rancherk3sreleasesdonloadv1.0.1sha256sum-amd64.txt]
Donloading binary [sgithub.rancherk3sreleasesdonloadv1.0.1k3s]
Verifying binary donload
Installing k3s to usrlocalbink3s
Creating usrlocalbinkubectl symlink to k3s
Creating usrlocalbincrictl symlink to k3s
Creating usrlocalbinctr symlink to k3s
Creating killall script usrlocalbink3s-killall.sh
Creating uninstall script usrlocalbink3s-uninstall.sh
env Creating environment file etcsystemdsystemk3s.service.env
systemd Creating service file etcsystemdsystemk3s.service
systemd Enabling k3s unit
Created symlink from etcsystemdsystemmulti-user.target.antsk3s.service to etcsystemdsystemk3s.service.
systemd Starting k3sAbove ill install k3s version
**[rootdemo3 ~]# kubectl get nodes**
N代投王 運彩AME STATUS ROLES AGE VERSION
demo3 Ready master 5m55s **v1.16.3-k3s.2**
“`
你可以看到我們在VM上已經安裝了Kubernetes v1.16.3。
Step2:安裝Rancher**
為了從Rancher UI中執行升級,必要通過以下號召安裝Rancher:
“`
**[rootdemo3 ~]# sudo docker run -d –re運彩 進球數start=unless-stopped -p 8080 -p 443443 rancherrancher
**Unable to find image ‘rancherrancherlatest’ locally
Trying to pull repository docker.iorancherrancher …
latest Pulling from docker.iorancherrancher
5bed26d33875 Pull plete
f11b29a9c730 Pull plete
930bda195c84 Pull plete
78bf9a5ad49e Pull plete
fdb587a45dfe Pull plete
0c3f7647a659 Pull plete
02c5407ca821 Pull plete
ebc0758b56 Pull plete
57a6e40f0f6e Pu運彩 傷停捕時ll plete
30a88d01aca6 Pull plete
76505b705d6f Pull plete
e585ea16af8d Pull plete
6b069694034e Pull plete
8c5d3f94d1 Pull plete
8ec56f5fa6c2 Pull plete
75872eb736b7 Pull plete
e774fd043162 Pull plete
c76d81e7a658 Pull plete
49bf6b83af1c Pull plete
Digest sha256248ddca1169e8a4e06babd50e8105cbba0a326f86ec4de3e38d61e89ffdb4e
Status Donloaded neer image for docker.iorancherrancherlatest
ef7f9a0d5bca831af19900a6ceafd30daca51e4f951295762cf7516e48d3d742
“`
Step3:在Rancher中導入集群**
打開Rancher UI并點擊以下按鈕導入K3s集群:
復制最后一條號召并在安裝了K3s的VM上運行該號召:
“`
**[rootdemo3 ~]# curl –insecure -sfL [s185.136.232.236v3importpxv5g7xsnnqkhl4dx7nrn8sndshk9g8426lnldrvt7vjvfc2f玩運彩 工作gr.yaml] | kubectl apply -f -**
clusterrole.rbac.authorization.k8s.ioproxy-clusterrole-kubeapiserver created
clusterrolebinding.rbac.authorization.k8s.ioproxy-role-binding-kubernetes-master created
namespacecattle-system created
serviceaccountcattle created
clusterrolebinding.rbac.authorization.k8s.iocattle-admin-binding created
secretcattle-credentials-d6e5b6d created
clusterrole.rbac.authorization.k8s.iocattle-admin created
deployment.appscattle-cluster-agent created
daemonset.appscattle-node-agent created
“`
Step4:執行升級**
點擊三個小點點,并抉擇Edit。抉擇最新的Kubernetes版本并點擊保留。
點擊保留之后,你可以看到集群狀態從Active變成了Upgrading。
一會兒之后,狀態會從頭變為Active,你將看到K3s集群升級到了最新版本。
僅需幾回點擊,我們已經通過Rancher UI直接將導入的K3s集群升級到了v1.17.4版本。
Troubleshooting 社區用戶途經實踐之后發明K3s集群處于Upgrading的狀態會連續很長一段時間。途經Rancher中國的社區專業經理當地操縱復現后,給出如下解決計劃:
K3s 分為master和agent腳色。K3s集群發動勝利后,可以導入到Rancher server去納管。假如Rancher server和K3s master在同一個節點上,在Rancher UI上升級K3s 版本就會顯露失敗的場合。
此外,由于sgithub.rancherk3s-upgradeblobv1.18.4+k3s1scriptsupgrade.sh#L15的邏輯,升級時會grep兩個歷程,差別是K3s master和Rancher server中的K3s,所以會報錯。
如要解決上述疑問,需求先將Rancher server 停掉,等到K3s升級勝利后,再發動Rancher server。
**結 論**
Rancher推出的K3s輕盈易用,加上Rancher 2.4對其的支持,升級集群更是易如反掌。當你通過Rancher UI導入K3s集群,Rancher會主動檢測并啟用帶有可用版本列表的升級集群選項。通過這一性能,你可以升級任意K3s集群,不論該集群是自控制還是托管在云上。