K8s - K3s簡介


K3S

K3s 是由 Rancher Labs 發布的一款開源、極輕量的Kubernetes 發行版,通過了CNCF一致性認證,適用於在資源有限的環境中運行Kubernetes。
K3s主要用於部署在資源受限的邊緣計算場景中,也可以在本地運行以進行Kubernetes測試或開發。
K3s是為生產環境設計的,因此在PC或筆記本電腦上,K3s是與生產級服務器最接近的選項。

k3s 將安裝 Kubernetes 所需的一切打包進一個小型二進制文件中,並且完全實現了 Kubernetes API。
可以在短時間內安裝,並且通常不到 2 分鍾的時間就能夠啟動一個帶有幾個節點的 k3s 集群,

為了減少運行 Kubernetes 所需的內存,Rancher 刪除了很多不必要的驅動程序,並用附加組件對其進行替換。
只需要極低的資源就可以運行,目前能夠在任何 512MB RAM 以上的設備上運行集群。

k3s 相對 k8s 裁剪了如下 5 個部分:

  • 過時的功能和非默認功能
  • Alpha 功能
  • 內置的雲提供商插件
  • 內置的存儲驅動
  • Docker

k3s軟件包所需的依賴:

  • containerd
  • Flannel
  • CoreDNS
  • CNI
  • 主機系統服務 (iptables, socat, etc)

k3s是完全兼容的Kubernetes發行版,有以下更改

- 移除過時的功能、Alpha功能、非默認功能,這些功能在大多數Kubernetes集群中已不可用。
- 刪除內置插件(比如雲供應商插件和存儲插件),可用外部插件程序替換。
- 添加SQLite3作為默認的數據存儲。etcd3仍然可用,但並非默認項。
- 包含在一個簡單的啟動程序當中,可以處理復雜的TLS和其他選項。

k3s的使用場景:

  • Edge
  • IoT
  • CI
  • ARM

安裝

k3s 相對 k8s 無需額外安裝如下組件:

  • kubelet
  • kube-proxy
  • Docker
  • etcd
  • ingress

Manual Download: https://github.com/rancher/k3s#manual-download
下載k3s,保存到/usr/local/bin並設置可執行權限,

Download k3s from latest release, x86_64, armhf, and arm64 are supported.
Run server.
sudo k3s server &
# Kubeconfig is written to /etc/rancher/k3s/k3s.yaml
sudo k3s kubectl get nodes

# 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}

k3s命令

# k3s help
NAME:
   k3s - Kubernetes, but small and simple

USAGE:
   k3s [global options] command [command options] [arguments...]

VERSION:
   v1.18.4+k3s1 (97b7a0e9)

COMMANDS:
   server        Run management server
   agent         Run node agent
   kubectl       Run kubectl
   crictl        Run crictl
   ctr           Run ctr
   check-config  Run config check
   help, h       Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --debug        Turn on debug logs [$K3S_DEBUG]
   --help, -h     show help
   --version, -v  print the version

如何利用K3s在本地設備上創建一個微型Kubernetes集群?
https://rancher.com/docs/k3s/latest/en/installation/install-options/

  1. 使用VMware、VirtualBox或KVM等平台在本地系統上至少創建兩個VM
  2. 在其中一個VM上安裝並配置K3s server,在其他VM上安裝並配置K3s agent。

輔助工具

K3sup: https://github.com/alexellis/k3sup
K3sup 是由 Alex Ellis 創建的一個開源項目,使得 k3s 的安裝和 kubeconfig 文件的生成變得快速和方便。
能以極快的速度自動化安裝 k3s、將 SAN 地址更新為公共 IP、下載 k3s 配置文件然后使用 VM 的公共 IP 地址將其更新,以便可以使用 kubectl 連接它。

Rancher

Rancher良好的用戶體驗基於Kubernetes,可以幫助用戶快速實現Kubernetes,充分利用Kubernetes的強大力量。
相比Kubernetes,Rancher提供了一個易用的容器管理平台,簡化了安裝和維護,降低了學習和使用難度。
簡而言之,Rancher就是一款提供Kubernetes-as-a-Service.的開源軟件。
Rancher為DevOps團隊提供了運行容器化工作負載的管理工具,包含簡單的CICD功能,可以在項目中創建Pipeline來實現持續集成。

參考信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM