apiVersion: extensions/v1beta1
kind: Deployment
metadata: <Object>
spec: <Object>
minReadySeconds: <integer> #設置pod準備就緒的最小秒數
paused: <boolean> #表示部署已暫停並且deploy控制器不會處理該部署
progressDeadlineSeconds: <integer>
strategy: <Object> #將現有pod替換爲新pod的部署策略
rollingUpdate: <Object> #滾動更新配置參數,僅當類型爲RollingUpdate
maxSurge: <string> #滾動更新過程產生的最大pod數量,可以是個數,也可以是百分比
maxUnavailable: <string> #
type: <string> #部署類型,Recreate,RollingUpdate
replicas: <integer> #pods的副本數量
selector: <Object> #pod標籤選擇器,匹配pod標籤,默認使用pods的標籤
matchLabels: <map[string]string>
key1: value1
key2: value2
matchExpressions: <[]Object>
operator: <string> -required- #設定標籤鍵與一組值的關係,In, NotIn, Exists and DoesNotExist
key: <string> -required-
values: <[]string>
revisionHistoryLimit: <integer> #設置保留的歷史版本個數,默認是10
rollbackTo: <Object>
revision: <integer> #設置回滾的版本,設置爲0則回滾到上一個版本
template: <Object> -required-
metadata:
spec:
containers: <[]Object> #容器配置
- name: <string> -required- #容器名、DNS_LABEL
image: <string> #鏡像
imagePullPolicy: <string> #鏡像拉取策略,Always、Never、IfNotPresent
ports: <[]Object>
- name: #定義端口名
containerPort: #容器暴露的端口
protocol: TCP #或UDP
volumeMounts: <[]Object>
- name: <string> -required- #設置卷名稱
mountPath: <string> -required- #設置需要掛載容器內的路徑
readOnly: <boolean> #設置是否只讀
livenessProbe: <Object> #就緒探測
exec:
command: <[]string>
httpGet:
port: <string> -required-
path: <string>
host: <string>
httpHeaders: <[]Object>
name: <string> -required-
value: <string> -required-
scheme: <string>
initialDelaySeconds: <integer> #設置多少秒後開始探測
failureThreshold: <integer> #設置連續探測多少次失敗後,標記爲失敗,默認三次
successThreshold: <integer> #設置失敗後探測的最小連續成功次數,默認爲1
timeoutSeconds: <integer> #設置探測超時的秒數,默認1s
periodSeconds: <integer> #設置執行探測的頻率(以秒爲單位),默認1s
tcpSocket: <Object> #TCPSocket指定涉及TCP端口的操作
port: <string> -required- #容器暴露的端口
host: <string> #默認pod的IP
readinessProbe: <Object> #同livenessProbe
resources: <Object> #資源配置
requests: <map[string]string> #最小資源配置
memory: "1024Mi"
cpu: "500m" #500m代表0.5CPU
limits: <map[string]string> #最大資源配置
memory:
cpu:
volumes: <[]Object> #數據卷配置
- name: <string> -required- #設置卷名稱,與volumeMounts名稱對應
hostPath: <Object> #設置掛載宿主機路徑
path: <string> -required-
type: <string> #類型:DirectoryOrCreate、Directory、FileOrCreate、File、Socket、CharDevice、BlockDevice
- name: nfs
nfs: <Object> #設置NFS服務器
server: <string> -required- #設置NFS服務器地址
path: <string> -required- #設置NFS服務器路徑
readOnly: <boolean> #設置是否只讀
- name: configmap
configMap:
name: <string> #configmap名稱
defaultMode: <integer> #權限設置0~0777,默認0664
optional: <boolean> #指定是否必須定義configmap或其keys
items: <[]Object>
- key: <string> -required-
path: <string> -required-
mode: <integer>
restartPolicy: <string> #重啓策略,Always、OnFailure、Never
nodeName: <string>
nodeSelector: <map[string]string>
imagePullSecrets: <[]Object>
hostname: <string>
hostPID: <boolean>
status: <Object>