Kubernetes對象

基本對象

Pod

pod是最小部署單元,一個pod有一個或多個容器組成,pod中容器共享存儲和網(wǎng)絡(luò),在同一個Docker主機(jī)上運行。

Service

Service一個應(yīng)用服務(wù)抽象,定義了pod邏輯集合和訪問這個pod集合的策略。
Service代理pod集合對外表現(xiàn)為一個訪問入口,分配一個集群ip地址,來自這個ip的請求將負(fù)載轉(zhuǎn)發(fā)后端pod中的容器。
Service通過Lable Selector選擇一組pod提供服務(wù)。

Volume

數(shù)據(jù)卷,共享pod中容器使用的數(shù)據(jù)。

Namespace

命名空間將對象邏輯上分配到不通namespace,可以是不同項目,用戶等區(qū)分管理,并設(shè)定控制策略,從而實現(xiàn)多租戶,命名空間也稱為虛擬集群。

Lable

標(biāo)簽用于區(qū)分對象,鍵/值對存在,每個對象可以有多個標(biāo)簽,通過標(biāo)簽關(guān)聯(lián)對象。

基于基本對象更高層次抽象

ReplicaSet

下一代Replication Controller 確保任何給定時間指定的pod副本數(shù)量,并提供聲明式更新等功能,RC與RS唯一區(qū)別就是lable selector支持不同,RS支持新的基于集合的標(biāo)簽,RC僅支持基于等式的標(biāo)簽。

Deployment(無狀態(tài)控制器)

Deployment是一個更高層次API對象,它管理RS和pod,并提供聲明式更新等功能。

StatefulSet(有狀態(tài)控制器)

StatefulSet適合持久性的應(yīng)用,有唯一的網(wǎng)絡(luò)標(biāo)識符(IP),持久存儲,有序的部署、擴(kuò)展、刪除和滾動更新。

DaemonSet

DaemonSet確保所有或一些節(jié)點運行同一個pod,當(dāng)節(jié)點加入kubernetes集群中,pod會被調(diào)度到該節(jié)點運行,當(dāng)節(jié)點從集群中移除時,DaemonSet的pod會自動被刪除,刪除DaemonSet會清理所有pod

Job

一次性任務(wù),運行完成后pod銷毀,不再重新啟動新容器,還可以定時運行任務(wù)

CronJob

Cronjob管理基于時間的job
在給定時間只運行一次
周期性地在給定時間點運行
使用前提條件:當(dāng)時有kubernetes集群,版本>=1.8,對于先前版本的集群,版本<1.8 啟動api server時 通過傳遞選項--runtime-config=batch/v2a1pha1=true可以開啟batch/v2alpha1 api

Horizontal Pod Autoscaling(自動擴(kuò)展)

應(yīng)用的資源使用率通常都有高峰和低估的時候,即何削峰填谷,提高集群的整體資源利用率,讓service中的pod個數(shù)自動調(diào)整,這就要依賴于Horizontal Pod Autoscaling了 顧名思義,使pod水平自動縮放

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容