apiVersion: apps/v1 #指定api版本,此值必須在k8s api-versions中
kind: Deployment # 指定創建資源的角色/類型
metadata: # 資源的元數據/屬性
name: # 資源的名字,在同一個namespace中必須唯一
namespace: # 部署在哪個namespace中
spec: # 資源規範字段
strategy: # 策略
type: RollingUpdate # 滾動更新策略
selector: # 選擇器
matchLabels: # 匹配標籤
app:
replicas: 1 # 聲明副本數目
template: # 模版
metadata: # 資源的元數據/屬性
labels: # 設定資源的標籤
app: jxcc-trade-merchants-server
spec: # 資源規範字段
containers:
- name: # 容器的名字
image: # 容器使用的鏡像地址
imagePullPolicy: Always # 每次Pod啓動拉取鏡像策略,三個選擇 Always、Never、IfNotPresent
# Always,每次都檢查;Never,每次都不檢查(不管本地是否有);IfNotPresent,如果本地有就不檢查,如果沒有就拉取
args: ["test"] #指定dockerFile運行時,指定使用哪個bootstrap-xxx.ymal文件
ports: #容器端口
- containerPort:
- containerPort:
resources: # 資源管理
limits: # 最大使用
cpu: 1000m # CPU,1核心 = 1000m
memory: 2000Mi # 內存,1G = 1024Mi
requests: # 容器運行時,最低資源需求,也就是說最少需要多少資源容器才能正常運行
cpu: 1000m
memory: 2000Mi
readinessProbe: # Pod 準備服務健康檢查設置
httpGet:
path: /actuator/health
port:
scheme: HTTP
# 表明第一次檢測在容器啓動後多長時間後開始
initialDelaySeconds: 30
# 檢查間隔時間
periodSeconds: 5
# 失敗門檻,失敗1次,pod殺掉,重啓一個新的pod
failureThreshold: 1
# 成功門檻
successThreshold: 1
# 檢測的超時時間
timeoutSeconds: 5
#pod生命週期
lifecycle:
preStop:
exec:
command:
- bash
- -c
- 'curl -X "POST" "http:"'
# pod DNS的策略 ClusterFirst:默認的配置,所有請求會優先在集羣所在域查詢,如果沒有才會轉發到上游DNS
dnsPolicy: ClusterFirst
#重啓策略 Always : 容器失效時,kubelet 自動重啓該容器;
# 可選策略
# OnFailure : 容器終止運行且退出碼不爲0時重啓;
# Never : 不論狀態爲何, kubelet 都不重啓該容器。
restartPolicy: Always
#定義優雅關閉的寬限期,即在收到停止請求後,有多少時間來進行資源釋放或者做其它操作,
#如果到了最大時間還沒有停止,會被強制結束。默認30s
terminationGracePeriodSeconds: 30
k8s deployment文件屬性簡介
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.