# GCP Note ![](https://i.imgur.com/wEqY3jt.jpg) ## K8S如何運行 Master 扮演著管理叢集的角色,管理者可以透過 CLI (Command Line Interface) 或 APIs (Application Programming Interface) 或控制介面 (Dashboard) 等等不同方式與 Master 溝通進而存取、控制或修改叢集狀態例如配置資源、擴充 Pod 數量等等。 Master node 收到 API request 後,針對使用者需求會叫後面的worker node進行指定的工作 (透過 kubelet溝通) kubelet運行在Worker Node當中,負責建立Pod中的容器。當kubelet收到來自Master Node 送來Pod定義內容時,kubelet 會透過 container runtime 建立 Pod 需要的容器並確保容器狀態是可運行的。 ## K8S Master的四大Component 1. API Service: 此為所有資源操作的唯一入口,API Service會驗證並處理管理者要求執行的工作,當工作執行完畢後,叢集的最新狀態便會儲存到etcd中。 2. Scheduler: 負責進行任務的調度,Scheduler會知道目前Worker Node的狀況,當需要配置Pod 時,Scheduler會找出最合適的Node並配置 Pod 3. Controller Manager: 負責維護cluster的狀態 * Replication Controller: 1. Rolling updates 2. Scaling: 當使用量變大時,自動縮放pod數量 3. Rescheduling: 當pod掛掉時,開啟新的pod * Node Controller * ResourceQuota Controller * Namespace Controller * Endpoint Controller * Service Controller 4. etcd: 負責保存整個 cluster 的運行狀態 ###### tags: `Note` `GCP`