溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

k3s的快速部署和使用方法是什么

發(fā)布時(shí)間:2022-01-14 17:53:19 來源:億速云 閱讀:344 作者:iii 欄目:云計(jì)算

本文小編為大家詳細(xì)介紹“k3s的快速部署和使用方法是什么”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“k3s的快速部署和使用方法是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

1、安裝k3s

1.1 自動安裝
  • 主控節(jié)點(diǎn)安裝

或者,直接安裝,如下:

curl -sfL https://get.k3s.io | sh -

下載k3s的 install.sh 提供了安裝到systemd 或openrc的工具,將安裝 k3s 為系統(tǒng)服務(wù)。

 配置文件kubeconfig 被寫入到 /etc/rancher/k3s/k3s.yaml ,服務(wù)將會自動啟動。 安裝腳本還將安裝 k3s 和其它工具,如kubectlcrictlk3s-killall.sh, 和k3s-uninstall.sh, 可以運(yùn)行下面命令來獲取節(jié)點(diǎn)狀態(tài):

sudo kubectl get nodes

K3S_TOKEN 被創(chuàng)建在主服務(wù)器/var/lib/rancher/k3s/server/node-token 。

??部署完了,但是服務(wù)不可用。如下:

  • 我的試驗(yàn)環(huán)境是Ubuntu 19.10,下次用raspbian試一下看。

ubuntu@ubuntu:~$ sudo kubectl cluster-info

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
The connection to the server 127.0.0.1:6443 was refused - did you specify the right host or port?
  • 工作節(jié)點(diǎn)安裝

如果在節(jié)點(diǎn)上安裝k3s,需要傳遞 K3S_URL 和 K3S_TOKEN 或者K3S_CLUSTER_SECRET 作為環(huán)境變量。例如:

curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=XXX sh -

1.2 手動安裝

下載 k3s - 最新版本, x86_64, ARMv7和ARM64都可以支持。

運(yùn)行服務(wù)器:

sudo k3s server &

# Kubeconfig is written to /etc/rancher/k3s/k3s.yaml
sudo k3s kubectl get node

# On a different node run the below. NODE_TOKEN comes from /var/lib/rancher/k3s/server/node-token
# on your server
sudo k3s agent --server https://myserver:6443 --token ${NODE_TOKEN}
1.3 高可用模式

從 v1.0.0開始,K3s 預(yù)覽性支持高可用 control plane,不需要外部的數(shù)據(jù)庫。這意味著不需要管理外部的etcd 或者 SQL datastore來提供高可靠的生產(chǎn)級安裝。該特征還是體驗(yàn)狀態(tài),我們希望將來能夠作為 HA K3s clusters的主要架構(gòu)。

該架構(gòu)通過嵌入 dqlite database到 K3s server 進(jìn)程內(nèi)實(shí)現(xiàn)。DQLite 即 “distributed SQLite.” 按照 https://dqlite.io的說法,是 “a fast, embedded, persistent SQL database with Raft consensus that is perfect for fault-tolerant IoT and Edge devices.”這非常適合 K3s。

讓 K3s 運(yùn)行在該模式,需要服務(wù)器節(jié)點(diǎn)為奇數(shù),建議從三個(gè)節(jié)點(diǎn)開始。

為了開始,首先啟動 server node ,采用 cluster-init 參數(shù)來啟用 clustering和token,將被用于共享 secret使其它服務(wù)器節(jié)點(diǎn)能夠加入集群。

K3S_TOKEN=SECRET k3s server --cluster-init

啟動第一個(gè)服務(wù)器后,添加第2/3個(gè)服務(wù)器進(jìn)來,需要shared secret:

K3S_TOKEN=SECRET k3s server --server https://<ip or hostname of server1>:6443

現(xiàn)在有了一個(gè)高可用 control plane服務(wù),添加其它worker nodes到集群,跟添加單個(gè)服務(wù)器集群一樣。

  • 參考:https://rancher.com/docs/k3s/latest/en/installation/ha-embedded/

2、使用k3s

該kubeconfig file用于配制對Kubernetes cluster集群的訪問,需要正確滴設(shè)置,能夠訪問 Kubernetes API ,如 kubectl 來安裝應(yīng)用以及支持 Helm??梢栽O(shè)置 kubeconfig的方法包括環(huán)境變量KUBECONFIG 來對 kubectl 和helm進(jìn)行支持。例如:

export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
kubectl get pods --all-namespaces
helm ls --all-namespaces

或者在每個(gè)命令中指示 kubeconfig 文件的位置。

kubectl --kubeconfig /etc/rancher/k3s/k3s.yaml get pods --all-namespaces
helm --kubeconfig /etc/rancher/k3s/k3s.yaml ls --all-namespaces

集群外通過 kubectl訪問

復(fù)制 /etc/rancher/k3s/k3s.yaml 到你的機(jī)器到 ~/.kube/config. 然后替換 “l(fā)ocalhost” 為 IP 或者 K3s server的名稱。kubectl 現(xiàn)在能夠管理所制定的K3s cluster。

3、k3s升級

可以通過安裝腳本來升級 K3s 或者手動安裝新的二進(jìn)制版本。

??注意:升級時(shí)首先升級 server nodes,然后升級其它工作節(jié)點(diǎn)。

通過安裝腳本升級K3s

從老的版本升級到新的 K3s,重新運(yùn)行安裝腳本即可,例如:

curl -sfL https://get.k3s.io | sh -

升級到制定版本,使用下面的命令(其中vX.Y.Z為指定的版本號):

curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=vX.Y.Z-rc1 sh -

手動升級K3s( Using the Binary)

手動升級 K3s:

  1. 下載想要的 K3s版本,從這里:releases

  2. 安裝到合適的位置 (一般是/usr/local/bin/k3s)

  3. 停止老版本。

  4. 啟動新版本。

重啟K3s

重啟K3s支持 systemd 和openrc。

  • 手動重啟 systemd使用:

sudo systemctl restart k3s
  • 手動重啟 openrc使用:

sudo service k3s restart

4、構(gòu)建arm版鏡像

arm版鏡像的CPU指令集與x86不同,因此容器不能交叉運(yùn)行到異構(gòu)硬件環(huán)境(與虛擬機(jī)不太一樣,虛擬機(jī)可以提供指令集模擬)。

但是,因?yàn)槿萜饕嫣峁┝私y(tǒng)一的存儲系統(tǒng),arm鏡像和x86鏡像可以使用同一個(gè)容器鏡像倉庫,可以通過內(nèi)置的tag來標(biāo)識即可。使用時(shí)必須選擇相應(yīng)的鏡像版本,也可以使用同一個(gè)Dockerfile打包出多種架構(gòu)可用的容器鏡像版本。

  • 參考:

    • Docker Desktop構(gòu)建Multi-Arch的arm容器鏡像

讀到這里,這篇“k3s的快速部署和使用方法是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

k3s
AI