pod定義檔案模板中各屬性的詳細說明

2022-09-09 16:30:23 字數 3884 閱讀 1687

apiversion: v1                    #必選,版本號,例如v1,版本號必須可以用 kubectl api-versions 查詢到 .

kind: pod        #必選,pod

metadata:        #必選,元資料

name:

string

#必選,pod名稱

namespace:

string    #必選,pod所屬的命名空間,預設為"

default

"labels:        #自定義標籤

- name: string

#自定義標籤名字

annotations:    #自定義注釋列表

- name: string

spec:         #必選,pod中容器的詳細定義

containers:      #必選,pod中容器列表

- name: string

#必選,容器名稱,需符合rfc 1035規範

image:

string

#必選,容器的映象名稱

command: [

string

]    #容器的啟動命令列表,如不指定,使用打包時使用的啟動命令

args: [

string

]    #容器的啟動命令引數列表

workingdir:

string

#容器的工作目錄

volumemounts:      #掛載到容器內部的儲存卷配置

- name: string

#引用pod定義的共享儲存卷的名稱,需用volumes部分定義的的卷名

mountpath:

string

#儲存卷在容器內mount的絕對路徑,應少於512字元

readonly: boolean #是否為唯讀模式

ports:        #需要暴露的埠庫號列表

- name: string

#埠的名稱

containerport:

int#容器需要監聽的埠號

hostport:

int#容器所在主機需要監聽的埠號,預設與container相同

protocol:

string

#埠協議,支援tcp和udp,預設tcp

env:        #容器執行前需設定的環境變數列表

- name: string

#環境變數名稱

value:

string

#環境變數的值

resources:    #資源限制和請求的設定

limits:      #資源限制的設定

cpu:

string    #cpu的限制,單位為core數,將用於docker run --cpu-shares引數

memory:

string #記憶體限制,單位可以為mib/gib,將用於docker run --memory引數

requests:    #資源請求的設定

cpu:

string

#cpu請求,容器啟動的初始可用數量

memory:

string

#記憶體請求,容器啟動的初始可用數量

livenessprobe:    #對pod內各容器健康檢查的設定,當探測無響應幾次後將自動重啟該容器,檢查方法有exec、httpget和tcpsocket,對乙個容器只需設定其中一種方法即可

exec:        #對pod容器內檢查方式設定為exec方式

command: [

string

] #exec方式需要制定的命令或指令碼

httpget:      #對pod內個容器健康檢查方法設定為httpget,需要制定path、port

tcpsocket:       #對pod內個容器健康檢查方式設定為tcpsocket方式

port: number

initialdelayseconds:

0#容器啟動完成後首次探測的時間,單位為秒

timeoutseconds:

0#對容器健康檢查探測等待響應的超時時間,單位秒,預設1秒

periodseconds:

0#對容器監控檢查的定期探測時間設定,單位秒,預設10秒一次

successthreshold:

0failurethreshold:

0securitycontext:

privileged:

false

restartpolicy: [always | never |onfailure] #pod的重啟策略,always表示一旦不管以何種方式終止執行,kubelet都將重啟,onfailure表示只有pod以非0退出碼退出才重啟,nerver表示不再重啟該pod

nodeselector: obeject    #設定nodeselector表示將該pod排程到包含這個label的node上,以key:value的格式指定

imagepullsecrets:     #pull映象時使用的secret名稱,以key:secretkey格式指定

- name: string

hostnetwork:

false

#是否使用主機網路模式,預設為false,如果設定為true,表示使用宿主機網路

volumes:        #在該pod上定義共享儲存卷列表

- name: string

#共享儲存卷名稱 (volumes型別有很多種)

emptydir: {}      #型別為emtydir的儲存卷,與pod同生命週期的乙個臨時目錄。為空值

hostpath:

string

#型別為hostpath的儲存卷,表示掛載pod所在宿主機的目錄

path:

string

#pod所在宿主機的目錄,將被用於同期中mount的目錄

secret:        #型別為secret的儲存卷,掛載集群與定義的secre物件到容器內部

scretname:

string

items:

- key: string

path:

string

configmap:      #型別為configmap的儲存卷,掛載預定義的configmap物件到容器內部

name:

string

items:

- key: string

path:

string

TagSupport中的各屬性代表的意思

eval body buffered表示標籤體的內容應該被處理,所有處理結果都將儲存在bodycontent類中。skip body表示忽略標籤體內容,將操作權交給doendtag 方法。eval body again表示重複執行標籤體內容,會再次呼叫doafterbody 方法,直到出現skip ...

記憶體管理中各屬性值的區別

strong,assign,retain,weak,copy的區別 strong與weak是由arc新引入的物件變數屬性 xcode 4.2 ios sdk4.3和以下版本 和之前的版本使用的是retain和assign,是不支援arc的。xcode 4.3 ios5和以上版本 之後就有了arc,並...

自定義屬性之xml檔案中自定義的屬性

在 中,我們有時會看到 的布局中或有我們沒見過的屬性例如 建立attrs.xml檔案,如下 這是因為使用的自定義屬性,下來我們了解一下具體步驟 新建乙個自定義類myattribute public class myattribute extends view private int myage pr...