【Rancher】RKE 集群中 K8s 節點的角色說明


Rancher版本:v2.5

本節描述 Kubernetes 中的 etcd 節點、 controlplane 節點和 worker 節點的角色,以及這些角色如何在集群中協同工作。

線條顯示了組件之間的通信。顏色純粹用於視覺輔助。

etcd

etcd 角色的節點將運行 etcd,etcd 是一個擁有一致性和高可用性的鍵值對存儲,它用於存儲 Kubernetes 集群中的所有數據。etcd 會將數據復制到每個 etcd 節點上。

注意: 在 UI 中如果具有 etcd 角色的節點顯示為 不可調度,這意味着在默認情況下,不會將 pod 調度到這些節點。

Control Plane

在具有 controlplane 角色的節點上運行 Kubernetes 的 master 組件(不包括etcd,因為它是一個單獨的角色)。

注意: 在 UI 中如果具有 controlplane 角色的節點顯示為 不可調度,這意味着在默認情況下,不會將 pod 調度到這些節點。

API Server

Kubernetes API Server( kube-apiserver )是可以水平擴展的。每個具有 controlplane 角色的節點都將被添加到集群中每個節點上的 NGINX 代理中,因為這些節點上都運行着需要訪問 API Server 的組件。這意味着如果一個controlplane節點變得不可調度,集群中其他節點上的本地 NGINX 代理將把請求轉發到列表中的另一個 Kubernetes API Server。

Kubernetes 控制器

Kubernetes 控制器使用了選舉機制。也就是說如果有多個實例的kube-controller-manager組件,那么只有一個是處於業務邏輯運行狀態。它是通過一個 Kubernetes endpoint 實現的。kube-controller-manager的一個實例會在這個 Kubernetes endpoint 中增加一個條目,並且在一個可配置的時間間隔內定期更新這個條目。其他的實例將可以看到當前的 leader 並且等待這個條目過期(例如節點沒有響應),並重新進行選舉。

Kubernetes 調度器

Kubernetes 調度器使用了選舉機制。也就是說如果有多個kube-scheduler組件的實例,那么只有一個是處於業務邏輯運行狀態。它是通過一個 Kubernetes endpoint 實現的。kube-scheduler的一個實例會在這個 Kubernetes endpoint 中增加一個條目,並且在一個可配置的時間間隔內定期更新這個條目。其他的實例將可以看到當前的 leader 並且等待這個條目過期(例如節點響應了),並重新進行選舉。

工作節點

具有 worker 角色的節點運行 Kubernetes Node 組件。


免責聲明!

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



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