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)負責從注冊表中提取容器映像,解壓縮容器以及運行應用程序。
總結
以上是生活随笔為你收集整理的k8s(3)-Pods和Nodes的概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jerry Wang诚邀广大SAP同仁免
- 下一篇: Android rxjava2的disp