總結:整理不易,如果對你有幫助,可否點贊關注一下?
更多詳細內容請參考:企業級K8s集群運維實戰
一、架構圖
如下圖所示:
二、環境信息
基于x86_64+aarch64架構使用containerd部署K8S 1.33.3集群資源合集(一主多從)
2、部署規劃
主機名 | K8S版本 | 系統版本 | CPU架構 | 內核版本 | I IP地址 | 備注 |
---|---|---|---|---|---|---|
k8s-master-58 | 1.33.3 | Kylin Linux Advanced Server V10 (HWY) | aarch64 | 4.19.90-52.48.v2207.ky10.aarch64 | 192.168.1.58 | control-plane節點 |
k8s-worker-59 | 1.33.3 | Kylin Linux Advanced Server V10 (HWY) | aarch64 | 4.19.90-52.48.v2207.ky10.aarch64 | 192.168.1.59 | worker節點 |
3、集群網段
宿主機 | 集群Pod網段 | 集群Service網段 |
---|---|---|
192.168.0.0/24 | 10.48.0.0/16 | 10.96.0.0/16 |
4、基礎軟件版本
軟件 | 版本 | 安裝方式 |
---|---|---|
kubeadm | 1.33.3 | 二進制 |
kubectl | 1.33.3 | 二進制 |
kubelet | 1.33.3 | 二進制 |
cri-containerd-cni | 1.7.28 | 二進制 |
ipvsadm | ipvsadm-1.31-2.ky10.aarch64 | yum |
ipset | ipset-7.6-0.p01.ky10.aarch64 | yum |
conntrack | conntrack-tools-1.4.6-2.ky10.aarch64 | yum |
socat | socat-1.7.3.2-9.ky10.aarch64 | yum |
ebtables | ebtables-2.0.11-2.p01.ky10.aarch64 | yum |
ethtool | ethtool-2:5.4-2.ky10.aarch64 | yum |
sysstat | sysstat-12.2.1-6.p03.ky10.aarch64 | yum |
說明
1、cri-containerd-cni包包含containerd、runc、cni插件。安裝containerd,需要同時安裝runc及cni網絡插件。 containerd不能直接操作容器,需要通過runc來運行容器。默認Containerd管理的容器僅有lo網絡(無法訪問容器之外的網絡), 如果需要訪問容器之外的網絡則需要安裝CNI網絡插件。CNI(Container Network Interface) 是一套容器網絡接口規范,用于為容器分配ip地址,通過CNI插件Containerd管理的容器可以訪問容器之外的網絡。
2、ipvsadm:這是一個用于管理Linux內核中的IP虛擬服務器(IPVS)的工具。它允許您配置和管理負載均衡、網絡地址轉換(NAT)和透明代理等功能。
3、ipset:這是一個用于管理Linux內核中的IP集合的工具。它允許您創建和管理IP地址、IP地址范圍和端口號的集合,以便在防火墻規則中使用。
4、conntrack:這是一個用于連接跟蹤的內核模塊和工具。它允許您跟蹤網絡連接的狀態和信息,如源IP地址、目標IP地址、端口號等。
5、socat(網絡工具):這是一個用于在Linux系統中建立各種類型網絡連接的工具。在Kubernetes網絡中,socat可以 用于創建端口轉發、代理和轉發等網絡連接。
6、ebtables(以太網橋規則管理工具):這是一個用于在Linux系統中管理以太網橋規則的工具。在Kubernetes中,ebtables 用于在網絡分區中實現容器之間的隔離和通信。
7、ethtool:這是一個用于查詢和控制網絡驅動程序及硬件設置的工具,比如速度、雙工模式等。雖然不是所有 Kubernetes 部署都需要直接依賴于 ethtool,但在某些情況下,比如調試網絡性能問題或調整網絡接口參數時可能會用到。
8、sysstat:這是一個用于系統性能監控和報告的工具集。它包括一些實用程序,如sar、iostat和mpstat,用于收集和顯示系統資源使用情況的統計信息。