1.pod的相關知識
1.1 pod的基礎概念?
pod是kubernetes中最小的資源管理組件,Pod也是最小化運行容器化應用的資源對象。一個Pod代表著集群中運行的一個進程。kubernetes中其他大多數(shù)組件都是用繞著Pod來進行支撐和擴展Pod功能的,例如,用于管理pod運行的StatefulSet和Deploment等控制器對象,用于暴露pod應用的service和Ingress對象,為pod提供存儲的persistentVolme存儲資源對象等。
?
1.2 k8s中pod的兩種使用方式?
?(1)一個pod中運行一個容器。"每個po中一個容器"的模式是最常見的用法:在這種使用方式中,你可以把pod想象成是單個容器的封裝,kterentes管理的是Pod而不是直接管理容器。
(2)在一個Pod中同時運行多個容器。一個Pod中也可以同時封裝幾個需要緊密耦合互相協(xié)作的容器,它們之間共享資源。這些在同一個Pod中的容器可以互相協(xié)作成為一個servie單位,比如一個容器共享文件,另一個"sidecar"容器(邊車容器)來更新這些文件。Pod將這些突器的存儲資源作為一個實體來管理?
?
?1.3 pod 容器的常規(guī)使用流程?
一個Pod下的容器必須運行于同一節(jié)點上。現(xiàn)代容器技術建議一個容器只運行一個進程,該進程在容器中PID命名空間中的進程號為1,可直接接收并處理信號,進程終止時容器生命周期也就結(jié)束了。若想在容器內(nèi)運行多個進程,需要有一個類似Linux操作系統(tǒng)init進程的管控類進程,以樹狀結(jié)構(gòu)完成多進程的生命周期管理。運行于各自容器內(nèi)的進程無法直接完成網(wǎng)絡通信,這是由于容器間的隔離機制導致,k8s中的Pod資源抽象正是解決此類問題,Pod對象是一組容器的集合,這些容器共享NET、MNT、UTS及IPC命名空間,因此具有相同的域名、主機名和網(wǎng)絡接口,并可通過IPC直接通信。
?
Pod資源中針對各容器提供網(wǎng)絡命名空間等共享機制的是底層基礎容器pause,基礎容器(也可稱為父容器)pause就是為了管理Pod容器間的共享操作,這個父容器需要能夠準確地知道如何去創(chuàng)建共享運行環(huán)境的容器,還能管理這些容器的生命周期。為了實現(xiàn)這個父容器的構(gòu)想,kubernetes中,用pause容器來作為一個Pod中所有容器的父容器。這個pause容器有兩個核心的功能,一是它提供整個Pod的Linux命名空間的基礎。二來啟用PID命名空間,它在每個Pod中都作為PID為1進程(init進程),并回收僵尸進程文章來源:http://www.zghlxwxcb.cn/news/detail-534202.html
pod 分為自主式pod 控制器管理的pod 靜態(tài)pod文章來源地址http://www.zghlxwxcb.cn/news/detail-534202.html
到了這里,關于k8s的pod的基礎(上)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!