k3s介紹


K3s 是一個完全兼容的輕量級Kubernetes 發行版,具有以下增強功能:

  • 打包為單個二進制文件。
  • 基於 sqlite3 作為默認存儲機制的輕量級存儲后端。etcd3、MySQL、Postgres 也仍然可用。
  • 包裹在簡單的啟動器中,可以處理很多復雜的 TLS 和選項。
  • 默認情況下使用輕量級環境的合理默認值進行保護。
  • 添加了簡單但強大的“內置電池”功能,例如:本地存儲提供程序、服務負載均衡器、Helm 控制器和 Traefik 入口控制器。
  • 所有 Kubernetes 控制平面組件的操作都封裝在單個二進制文件和進程中。這允許 K3s 自動化和管理復雜的集群操作,例如分發證書。
  • 外部依賴被最小化(只需要一個現代內核和 cgroup 掛載)。K3s 包所需的依賴項,包括:
    • containerd
    • Flannel
    • coreDNS
    • CNI
    • 主機實用程序(iptables、socat 等)
    • ingress controller(traefik)
    • 嵌入式服務負載均衡器
    • 嵌入式網絡策略控制器

 

為什么使用k3s?

1、K3s 是一種高度可用、經過認證的 Kubernetes 發行版,專為無人值守、資源受限、遠程位置或物聯網設備內部的生產工作負載而設計。

2、K3s 打包為一個 <40MB 的二進制文件,可減少安裝、運行和自動更新生產 Kubernetes 集群所需的依賴項和步驟。

3、ARM64 和 ARMv7 都支持二進制文件和多架構映像。從 Raspberry Pi 到 AWS a1.4xlarge 32GiB 服務器,K3s 都能很好地工作。(支持 x86_64、ARMv7 和 ARM64)

 

 

一、架構

  • server節點被定義為運行k3s server命令的機器(裸機或虛擬)。
  • agent節點被定義為運行k3s agent命令的機器。

架構圖:

 1)單服務集群

建築學

 

2)高可用集群

建築學

 

 

代理節點注冊工作原理:

1、k3s agent向server端發起websocket注冊連接。並將隨機生成的節點密碼發送給server端。(/etc/rancher/node/password)

2、server端將密碼存儲為kubernetes  secrets,命名空間為kube-system,名字<host>.node-password.k3s

 

二、資源分析

1、網絡

K3s 服務器需要端口 6443 才能被所有節點訪問。

k3s 節點入站規則:

協議
港口
來源
描述
協議
港口
來源
描述
TCP 6443 K3s 代理節點 Kubernetes API 服務器
UDP 8472 K3s 服務器和代理節點 僅 Flannel VXLAN 需要
TCP 10250 K3s 服務器和代理節點 Kubelet 指標
TCP 2379-2380 K3s服務器節點 僅對於具有嵌入式 etcd 的 HA 需要

2、CPU和內存

1)硬件要求根據您的部署規模進行擴展。此處概述了最低建議。

  • RAM:最低 512MB(我們建議至少 1GB)
  • CPU:1 最低

2)以下是高可用 K3s 服務器中節點的最低 CPU 和內存要求

部署規模
節點
虛擬處理器
內存
小的 高達10 2 4GB
中等的 最多 100 4 8 GB
大的 高達 250 8 16 GB
超大 高達 500 16 32GB
XX-大 500+ 32 64GB


免責聲明!

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



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