k8s(3)-Pods和Nodes的概念


   Pod是什么?

    在前面創建部署時,Kubernetes創建了一個Pod來托管您的應用程序實例。Pod是一個Kubernetes抽象,表示一組一個或多個應用程序容器(如Docker或rkt),以及這些容器的一些共享資源。這些資源包括:

  • 共享存儲,作為卷
  • 網絡,作為唯一的群集IP地址
  • 有關如何運行每個容器的信息,例如容器映像版本或要使用的特定端口

Pod為特定於應用程序的“邏輯主機”建模,並且可以包含相對緊密耦合的不同應用程序容器。例如,Pod可能既包含帶有Node.js應用程序的容器,也包含一個不同的容器,用於提供Node.js網絡服務器要發布的數據。Pod中的容器共享IP地址和端口空間,始終位於同一位置並共同調度,並在同一節點上的共享上下文中運行。

Pod是Kubernetes平台上的原子單元。當我們在Kubernetes上創建部署時,該部署會在其中創建包含容器的Pod(而不是直接創建容器)。每個Pod都與調度它的節點綁定,並保持在那里直到終止(根據重啟策略)或刪除。如果節點發生故障,則會在群集中的其他可用節點上調度相同的Pod。

 

Pods概念圖


 

Nodes是什么?

   

    Pod總是在節點上運行Node是Kubernetes中的工作機器,可以是虛擬機器,也可以是物理機器,具體取決於集群。每個節點由Master管理。節點可以有多個pod,Kubernetes master會自動處理在群集中的節點上調度pod。Master的自動調度考慮了每個節點上的可用資源。

每個Kubernetes節點至少運行:

  • Kubelet,負責Kubernetes Master和Node之間通信的過程; 它管理Pod和機器上運行的容器。
  • 容器運行時(如Docker,rkt)負責從注冊表中提取容器映像,解壓縮容器以及運行應用程序。
 


 

 

 

 


免責聲明!

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



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