apiversion: v1 //版本
kind: pod //型別,pod
metadata: //元資料
name: string //元資料,pod的名字
namespace: string //元資料,pod的命名空間
labels: //元資料,標籤列表
- name: string //元資料,標籤的名字
annotations: //元資料,自定義註解列表
- name: string //元資料,自定義註解名字
spec: //pod中容器的詳細定義
containers: //pod中的容器列表,可以有多個容器
- name: string
image: string //容器中的映象
imagespullpolicy: [always|never|ifnotpresent]//獲取映象的策略
command: [string] //容器的啟動命令列表(不配置的話使用映象內部的命令)
args: [string] //啟動引數列表
workingdir: string //容器的工作目錄
volumemounts: //掛載到到容器內部的儲存卷設定
- name: string
mountpath: string
readonly: boolean
ports: //容器需要暴露的埠號列表
- name: string
containerport: int //容器要暴露的埠
hostport: int //容器所在主機監聽的埠(容器暴露埠對映到宿主機的埠)
protocol: string
env: //容器執行前要設定的環境列表
- name: string
value: string
resources: //資源限制
limits:
cpu: srting
memory: string
requeste:
cpu: string
memory: string
livenessprobe: //pod內容器健康檢查的設定
exec:
command: [string]
httpget: //通過httpget檢查健康
tcpsocket: //通過tcpsocket檢查健康
port: number
initialdelayseconds: 0//首次檢查時間
timeoutseconds: 0 //檢查超時時間
periodseconds: 0 //檢查間隔時間
successthreshold: 0
failurethreshold: 0
securitycontext: //安全配置
privileged: falae
restartpolicy: [always|never|onfailure]//重啟策略
nodeselector: object //節點擊擇
imagepullsecrets:
- name: string
hostnetwork: false //是否使用主機網路模式,預設否
volumes: //在該pod上定義共享儲存卷
- name: string
meptydir: {}
hostpath:
path: string
secret: //型別為secret的儲存卷
secretname: string
item:
- key: string
path: string
configmap: //型別為configmap的儲存卷
name: string
items:
- key: string
path: string
k8s pod的狀態為evicted
使用kubectl get pods,發現很多pod的狀態為evicted。原因eviction,即驅趕的意思,意思是當節點出現異常時,kubernetes將有相應的機制驅趕該節點上的pod。多見於資源不足時導致的驅趕。解決方案 排查資源和異常原因,防止新的驅趕產生。使用如下命令刪除舊驅趕的遺留 k...
k8s pod多種處理邏輯過程
kubernetes 建立pod 的 工作流 1 kubectl 向 k8s api server 發起乙個create pod 請求 即我們使用kubectl敲乙個create pod命令 2 k8s api server接收到pod建立請求後,不會去直接建立pod 而是生成乙個包含建立資訊的ya...
k8s pod 在節點間排程控制
部落格作為學習筆記記錄,若有理解,表述錯誤,歡迎指出。k8s起pod時,會通過排程器scheduler選擇某個節點完成排程,選擇在某個節點上完成pod建立。當需要在指定pod執行在某個節點上時,可以通過以下幾種方式 1.在部署pod的yaml中,指定nodename 指定了nodename的pod會...