爲了幫助你們更好地理解 Kubernetes 架構,咱們部署一個應用來演示各個組件之間是如何協做的。
執行命令:node
kubectl run httpd-app --image=httpd --replicas=2
等待一段時間,應用部署完成。架構
root@k8s-master:~/k8s# kubectl get deploment root@k8s-master:~/k8s# kubectl get pod -o wide
Kubernetes 部署了 deployment httpd-app
,有兩個副本 Pod,分別運行在 k8s-node1
和 k8s-node2
。app
詳細討論整個部署過程。ide
① kubectl 發送部署請求到 API Server。學習
② API Server 通知 Controller Manager 建立一個 deployment 資源。code
③ Scheduler 執行調度任務,將兩個副本 Pod 分發到 k8s-node1 和 k8s-node2。blog
④ k8s-node1 和 k8s-node2 上的 kubectl 在各自的節點上建立並運行 Pod。資源
補充兩點:部署
kubectl get pod
時 API Server 會從 etcd 中讀取這些數據。Kubernetes 架構就討論到這裏。從下節開始,咱們將經過實踐深刻學習 Kubernetes 的各類特性。做爲容器編排引擎,最重要也是最基本的功能固然是運行容器化應用。get