通過例子理解 k8s 架構 - 每天5分鍾玩轉 Docker 容器技術(122)


為了幫助大家更好地理解 Kubernetes 架構,我們部署一個應用來演示各個組件之間是如何協作的。

執行命令

kubectl run httpd-app --image=httpd --replicas=2

等待一段時間,應用部署完成。

Kubernetes 部署了 deployment httpd-app,有兩個副本 Pod,分別運行在 k8s-node1 和 k8s-node2

詳細討論整個部署過程。

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

② API Server 通知 Controller Manager 創建一個 deployment 資源。

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

④ k8s-node1 和 k8s-node2 上的 kubelet 在各自的節點上創建並運行 Pod。

補充兩點:

  1. 應用的配置和當前狀態信息保存在 etcd 中,執行 kubectl get pod 時 API Server 會從 etcd 中讀取這些數據。

  2. flannel 會為每個 Pod 都分配 IP。因為沒有創建 service,目前 kube-proxy 還沒參與進來。

Kubernetes 架構就討論到這里。從下節開始,我們將通過實踐深入學習 Kubernetes 的各種特性。作為容器編排引擎,最重要也是最基本的功能當然是運行容器化應用。下節見。

書籍:

1.《每天5分鍾玩轉Docker容器技術》
https://item.jd.com/16936307278.html


2.《每天5分鍾玩轉OpenStack》
https://item.jd.com/12086376.html


免責聲明!

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



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