k8s yaml配置檔案詳解

2021-10-21 11:24:39 字數 2777 閱讀 1983

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

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

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

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

labels: #設定資源的標籤,使這個標籤在service網路中備案,以便被獲知

version: v1

kubernetes.io/cluster-service: "true"

annotations: #設定自定義註解列表

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

spec: #設定該資源的內容

restartpolicy: always #表示自動重啟,一直都會有這個容器執行

nodeselector: #選擇node節點14 zone: node1

containers:

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

image: django:v1.1 #容器使用的映象位址

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: 8080 #容器開發對外的埠

name: uwsgi #名稱

protocol: tcp

livenessprobe: #pod內容器健康檢查的設定

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

path: / #uri位址

port: 8080

#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檔案詳解

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...