9、 k8s 架構分析

9、 k8s 架構分析

爲了幫助你們更好地理解 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-node1k8s-node2app

​ 詳細討論整個部署過程。ide

​ ① kubectl 發送部署請求到 API Server。學習

​ ② API Server 通知 Controller Manager 建立一個 deployment 資源。code

​ ③ Scheduler 執行調度任務,將兩個副本 Pod 分發到 k8s-node1 和 k8s-node2。blog

​ ④ k8s-node1 和 k8s-node2 上的 kubectl 在各自的節點上建立並運行 Pod。資源

補充兩點:部署

  • 應用的配置和當前狀態信息保存在 etcd 中,執行 kubectl get pod 時 API Server 會從 etcd 中讀取這些數據。
  • flannel 會爲每一個 Pod 都分配 IP。由於沒有建立 service,目前 kube-proxy 還沒參與進來。

Kubernetes 架構就討論到這裏。從下節開始,咱們將經過實踐深刻學習 Kubernetes 的各類特性。做爲容器編排引擎,最重要也是最基本的功能固然是運行容器化應用。get

相關文章
相關標籤/搜索