k8s yaml檔案詳解

2021-08-22 08:16:11 字數 2886 閱讀 4160

1、yaml檔案詳解如下:

apiversion: v1             #指定api版本,此值必須在kubectl apiversion中  

kind: pod #指定建立資源的角色/型別

metadata: #資源的元資料/屬性

name: web04-pod #資源的名字,在同乙個namespace中必須唯一

labels: #設定資源的標籤,詳情請見

version: v1

kubernetes.io/cluster-service: "true"

annotations: #自定義註解列表

- name: string #自定義註解名字

spec:#specification of the resource content 指定該資源的內容

restartpolicy: always #表明該容器一直執行,預設k8s的策略,在此容器退出後,會立即建立乙個相同的容器

nodeselector: #節點擊擇,先給主機打標籤kubectl label nodes kube-node1 zone=node1

zone: node1

containers:

- name: web04-pod #容器的名字

image: web:apache #容器使用的映象位址

imagepullpolicy: never #三個選擇always、never、ifnotpresent,每次啟動時檢查和更新(從registery)images的策略,

# always,每次都檢查

# never,每次都不檢查(不管本地是否有)

# ifnotpresent,如果本地有就不檢查,如果沒有就拉取

command: ['sh'] #啟動容器的執行命令,將覆蓋容器中的entrypoint,對應dockefile中的entrypoint

args: ["$(str)"] #啟動容器的命令引數,對應dockerfile中cmd引數

env: #指定容器中的環境變數

- name: str #變數的名字

value: "/etc/run.sh" #變數的值

resources: #資源管理,請求請見

requests: #容器執行時,最低資源需求,也就是說最少需要多少資源容器才能正常執行

cpu: 0.1 #cpu資源(核數),兩種方式,浮點數或者是整數+m,0.1=100m,最少值為0.001核(1m)

memory: 32mi #記憶體使用量

limits: #資源限制

cpu: 0.5

memory: 32mi

ports:

- containerport: 80 #容器開發對外的埠

name: httpd #名稱

protocol: tcp

livenessprobe: #pod內容器健康檢查的設定,詳情請見

httpget: #通過httpget檢查健康,返回200-399之間,則認為容器正常

path: / #uri位址

port: 80

#host: 127.0.0.1 #主機位址

initialdelayseconds: 180 #表明第一次檢測在容器啟動後多長時間後開始

timeoutseconds: 5 #檢測的超時時間

periodseconds: 15 #檢查間隔時間

#也可以用這種方法

#exec: 執行命令的方法進行監測,如果其退出碼不為0,則認為容器正常

# command:

# - cat

# - /tmp/health

#也可以用這種方法

#tcpsocket: //通過tcpsocket檢查健康

# port: number

lifecycle: #生命週期管理

poststart: #容器執行之前執行的任務

exec:

command:

- 'sh'

- 'yum upgrade -y'

prestop: #容器關閉之前執行的任務

volumemounts: #詳情請見

- name: volume #掛載裝置的名字,與volumes[*].name 需要對應

mountpath: /data #掛載到容器的某個路徑下

readonly: true

volumes: #定義一組掛載裝置

- name: volume #定義乙個掛載裝置的名字

#meptydir: {}

hostpath:

path: /opt #掛載裝置型別為hostpath,路徑為宿主機下的/opt,這裡裝置型別支援很多種

k8s yaml檔案詳解

1 yaml檔案詳解如下 apiversion v1 指定api版本,此值必須在kubectl apiversion中 kind pod 指定建立資源的角色 型別 metadata 資源的元資料 屬性 name web04 pod 資源的名字,在同乙個namespace中必須唯一 labels 設定...

K8S yaml檔案詳解

kind deployment 該配置的型別,我們使用的是 deployment metadata 譯名為元資料,即 deployment 的一些基本屬性和資訊 name nginx deployment deployment 的名稱 labels 標籤,可以靈活定位乙個或多個資源,其中key和va...

k8s yaml檔案註解

yaml格式的pod定義檔案完整內容 apiversion v1 必選,版本號,例如v1 kind pod 必選,pod metadata 必選,元資料 name string 必選,pod名稱 namespace string 必選,pod所屬的命名空間 labels 自定義標籤 name str...