徐亮偉Kubernetes/k8s 入門與進階實踐
master是kubernetes cluster的大腦
API Server:提供HTTP/HTTPS RESTful API,即Kubernetes API。API Server是Kubernetes Cluster的前端接口,各種客戶端工具(CLI或UI)以及Kubernetes其他組件可以通過它管理Cluster的各種資源
Scheduler:負責決定將Pod放在哪個Node上運行。Scheduler在調(diào)度時會充分考慮Cluster的拓撲結(jié)構(gòu),當前各個節(jié)點的負載,以及應(yīng)用對高可用、性能、數(shù)據(jù)親和性的需求。
Controller Manager:負責管理Cluster各種資源,保證資源處于預(yù)期的狀態(tài)。Controller Manager由多種controller組成,包括replicationcontroller、endpoints controller、namespace controller、serviceaccountscontroller等。不同的controller管理不同的資源。例如,replication controller管理Deployment、StatefulSet、DaemonSet的生命周期,namespacecontroller管理Namespace資源
etcd:負責保存Kubernetes Cluster的配置信息和各種資源的狀態(tài)信息。當數(shù)據(jù)發(fā)生變化時,etcd會快速地通知Kubernetes相關(guān)組件
Pod網(wǎng)絡(luò):Pod要能夠相互通信,Kubernetes Cluster必須部署Pod網(wǎng)絡(luò),flannel是其中一個可選方案
kubelet和kube-proxy見node節(jié)點的結(jié)構(gòu)(master同時也是一個node,可以運行應(yīng)用)
