14.5 K3s - 輕量級 Kubernetes

K3s 是一個輕量級的 Kubernetes 發行版,由 Rancher Labs 開發。它專為邊緣計算、物聯網、CI、ARM 等資源受限的環境設計。K3s 被打包為單個二進位檔案,只有不到 100MB,但透過了 CNCF 的一致性測試。

版本說明:K3s 版本與 Kubernetes 版本對應。安裝指令碼會自動拉取最新穩定版本。如需指定特定版本,可在安裝時設定 INSTALL_K3S_VERSION 環境變數。詳見 K3s Releases

14.5.1 核心屬性

  • 輕量級:移除過時的、非必須的 Kubernetes 功能 (如傳統的雲提供商外掛),使用 SQLite 作為預設資料儲存 (也支援 Etcd/MySQL/Postgres)。
  • 單一二進位:所有元件 (API Server,Controller Manager,Scheduler,Kubelet,Kube-proxy) 打包在一個程序中執行。
  • 開箱即用:內建 Helm Controller、Traefik Ingress controller、ServiceLB、Local-Path-Provisioner。
  • 安全:預設啟用安全設定,基於 TLS 通訊。

14.5.2 安裝

K3s 的安裝非常簡單,官方提供了便捷的安裝指令碼。

指令碼安裝

K3s 提供了極為便捷的安裝指令碼。該指令會從網路下載指令碼並直接交給 sh 執行,生產環境建議先下載審查指令碼內容,並按官方文件固定版本或安裝引數:

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

安裝完成後,K3s 會自動啟動並設定好 systemd 服務。

檢視狀態

sudo k3s kubectl get nodes

輸出類似:

NAME          STATUS   ROLES                  AGE   VERSION
k3s-master    Ready    control-plane,master   1m    v1.36.0+k3s1

版本說明:輸出中的 v1.36.0+k3s1 為編寫本文件時的版本範例。實際輸出版本號取決於你所安裝的 K3s 版本。更多訊息請參見 K3s Releases

14.5.3 快速使用

K3s 內建了 kubectl 指令 (透過 k3s kubectl 呼叫),為了方便,通常會建立別名或設定 KUBECONFIG

## 讀取 K3s 的設定檔案

export KUBECONFIG=/etc/rancher/k3s/k3s.yaml

## 現在可以直接使用 kubectl

kubectl get pods -A

14.5.4 清理解除安裝

/usr/local/bin/k3s-uninstall.sh
第 119 页,共 196 页
使用 mdPress 构建