概述
我們知道用kubectl
管理k8s
的時(shí)候可以使用yaml
文件躏尉,在這些配置文件的定義里面會(huì)有一個(gè)apiVersion
字段酌泰,這個(gè)字段指明了要使用的API版本顾腊,最新的k8s
API版本是v1.18.0状勤,地址:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18
里面可以看到對(duì)于Deployment
資源,它對(duì)應(yīng)的分組是apps
畏铆,版本是v1
雷袋,所以我們的yaml
文件里面就需要這樣寫:apiVersion: apps/v1
;對(duì)于Namespace
資源辞居,它對(duì)應(yīng)的分組是core
片排,版本是v1
,core
是可以省略的速侈,所以我們的yaml
文件里面可以這樣寫:apiVersion: v1
資源對(duì)象
資源對(duì)象通常有3個(gè)組成部分:
-
metadata
:這是關(guān)于資源的元數(shù)據(jù)率寡,比如它的名稱、類型倚搬、api版本冶共、注釋和標(biāo)簽。 -
spec
:這是由用戶定義的希望系統(tǒng)最終達(dá)到的狀態(tài)每界,比如啟動(dòng)多少個(gè)replica捅僵、cpu和內(nèi)存的限制等等。 -
status
:系統(tǒng)的當(dāng)前狀態(tài)眨层,由服務(wù)器去更新庙楚。
資源的操作
資源通常有這幾種操作:創(chuàng)建(Create
),更新(Update
)趴樱,讀嚷啤(Read
),刪除(Delete
)叁征。其中更新又分為替換(Replace
)和打補(bǔ)赌烧恕(Patch
),區(qū)別是替換是把整個(gè)spec
替換掉捺疼,會(huì)有樂(lè)觀鎖保證讀寫安全疏虫;打補(bǔ)丁則是修改某些指定的字段,沒(méi)有鎖啤呼,最后一次寫會(huì)成功卧秘。
有部分資源還會(huì)支持下列操作:
-
Rollback
: 將PodTemplate回滾到以前的版本。 -
Read / Write Scale
: 讀取或更新資源的副本數(shù)量官扣。 -
Read / Write Status
: 讀取或更新資源對(duì)象的狀態(tài)翅敌。