部署
apiVersion: apps/v1
import "k8s.io/api/apps/v1"
部署
Deployment 實現了 Pods 和 ReplicaSets 的宣告式更新。
apiVersion: apps/v1
kind: Deployment
metadata (ObjectMeta)
標準物件的元資料。更多資訊:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
spec (DeploymentSpec)
部署期望行為的規範。
status (DeploymentStatus)
最近觀察到的部署狀態。
DeploymentSpec
DeploymentSpec 是 Deployment 期望行為的規範。
selector (LabelSelector),必需
Pod 的標籤選擇器。其 Pod 被此部署選擇的現有 ReplicaSet 將受到此部署的影響。它必須與 Pod 模板的標籤匹配。
template (PodTemplateSpec),必需
Template 描述了將被建立的 Pod。唯一允許的 template.spec.restartPolicy 值為“Always”。
replicas (int32)
所需的 Pod 數量。這是一個指標,用於區分顯式零和未指定。預設為 1。
minReadySeconds (int32)
一個新建立的 Pod 在其任何容器未崩潰的情況下被視為可用的最小就緒秒數。預設為 0(Pod 一旦就緒即被視為可用)。
strategy (DeploymentStrategy)
補丁策略:retainKeys
用於將現有 Pod 替換為新 Pod 的部署策略。
DeploymentStrategy 描述瞭如何用新 Pod 替換現有 Pod。
strategy.type (字串)
部署型別。可以是“Recreate”或“RollingUpdate”。預設為 RollingUpdate。
strategy.rollingUpdate (RollingUpdateDeployment)
滾動更新配置引數。僅當 DeploymentStrategyType = RollingUpdate 時存在。
strategy.rollingUpdate.maxSurge (IntOrString)
可以超出所需 Pod 數量的最大 Pod 排程數。值可以是絕對數字(例如:5)或所需 Pod 的百分比(例如:10%)。如果 MaxUnavailable 為 0,則此值不能為 0。絕對數字透過向上取整從百分比計算。預設為 25%。示例:當此值設定為 30% 時,滾動更新開始時可以立即擴充套件新的 ReplicaSet,使得舊 Pod 和新 Pod 的總數不超過所需 Pod 的 130%。一旦舊 Pod 被終止,可以進一步擴充套件新的 ReplicaSet,確保在更新期間任何時間執行的 Pod 總數最多為所需 Pod 的 130%。
IntOrString 是一種可以容納 int32 或字串的型別。在 JSON 或 YAML 編組和解組中使用時,它會生成或消費內部型別。這允許您,例如,有一個可以接受名稱或數字的 JSON 欄位。
strategy.rollingUpdate.maxUnavailable (IntOrString)
更新期間可以不可用的最大 Pod 數量。值可以是絕對數字(例如:5)或所需 Pod 的百分比(例如:10%)。絕對數字透過向下取整從百分比計算。如果 MaxSurge 為 0,則此值不能為 0。預設為 25%。示例:當此值設定為 30% 時,滾動更新開始時可以立即將舊 ReplicaSet 縮減到所需 Pod 的 70%。一旦新 Pod 準備就緒,可以進一步縮減舊 ReplicaSet,然後擴充套件新的 ReplicaSet,確保在更新期間任何時間可用的 Pod 總數至少為所需 Pod 的 70%。
IntOrString 是一種可以容納 int32 或字串的型別。在 JSON 或 YAML 編組和解組中使用時,它會生成或消費內部型別。這允許您,例如,有一個可以接受名稱或數字的 JSON 欄位。
revisionHistoryLimit (int32)
為允許回滾而保留的舊 ReplicaSet 的數量。這是一個指標,用於區分顯式零和未指定。預設為 10。
progressDeadlineSeconds (int32)
部署在被視為失敗之前取得進展的最大時間(以秒為單位)。部署控制器將繼續處理失敗的部署,並在部署狀態中顯示帶有 ProgressDeadlineExceeded 原因的條件。請注意,在部署暫停期間不會估計進度。預設為 600 秒。
paused (布林值)
指示部署已暫停。
DeploymentStatus
DeploymentStatus 是最近觀察到的部署狀態。
replicas (int32)
此部署目標(其標籤與選擇器匹配)的非終止 Pod 的總數。
availableReplicas (int32)
此部署目標(至少 minReadySeconds 準備就緒)的可用非終止 Pod 的總數。
readyReplicas (int32)
此部署目標且處於 Ready 狀態的非終止 Pod 的總數。
unavailableReplicas (int32)
此部署目標中不可用 Pod 的總數。這是部署實現 100% 可用容量仍所需的 Pod 總數。它們可能是正在執行但尚未可用的 Pod,也可能是尚未建立的 Pod。
updatedReplicas (int32)
此部署目標且具有所需模板規範的非終止 Pod 的總數。
terminatingReplicas (int32)
此部署目標中正在終止的 Pod 的總數。終止中的 Pod 具有非空 .metadata.deletionTimestamp 並且尚未達到 Failed 或 Succeeded .status.phase。
這是一個 Alpha 欄位。啟用 DeploymentReplicaSetTerminatingReplicas 才能使用此欄位。
collisionCount (int32)
部署的雜湊衝突計數。部署控制器在需要為最新 ReplicaSet 建立名稱時,使用此欄位作為避免衝突的機制。
conditions ([]DeploymentCondition)
補丁策略:按鍵
type
合併對映:合併時將保留鍵型別上的唯一值
表示部署當前狀態的最新可用觀察結果。
DeploymentCondition 描述了部署在某個時間點的狀態。
conditions.status (string),必需
條件的 status,可以是 True、False、Unknown 之一。
conditions.type (string),必需
部署條件的型別。
conditions.lastTransitionTime (Time)
條件上次從一種狀態轉換到另一種狀態的時間。
Time 是 time.Time 的一個包裝器,支援正確地編組到 YAML 和 JSON。提供了 time 包提供的許多工廠方法的包裝器。
conditions.lastUpdateTime (Time)
此條件上次更新的時間。
Time 是 time.Time 的一個包裝器,支援正確地編組到 YAML 和 JSON。提供了 time 包提供的許多工廠方法的包裝器。
conditions.message (string)
一個人類可讀的訊息,指示有關轉換的詳細資訊。
conditions.reason (string)
條件上次轉換的原因。
observedGeneration (int64)
部署控制器觀察到的代數。
DeploymentList
DeploymentList 是 Deployment 的列表。
apiVersion: apps/v1
kind: DeploymentList
metadata (ListMeta)
標準列表元資料。
items ([]Deployment), 必需
Items 是 Deployment 的列表。
操作
get
讀取指定的 Deployment
HTTP 請求
GET /apis/apps/v1/namespaces/{namespace}/deployments/{name}
引數
響應
200 (Deployment): 正常
401: 未授權
get
讀取指定 Deployment 的狀態
HTTP 請求
GET /apis/apps/v1/namespaces/{namespace}/deployments/{name}/status
引數
響應
200 (Deployment): 正常
401: 未授權
list
列出或監視 Deployment 型別的物件
HTTP 請求
GET /apis/apps/v1/namespaces/{namespace}/deployments
引數
namespace (在路徑中): string,必填
allowWatchBookmarks (在查詢中): boolean
continue (在查詢中): string
fieldSelector (在查詢中): string
labelSelector (在查詢中): string
limit (在查詢中): integer
pretty (在查詢中): string
resourceVersion (在查詢中): string
resourceVersionMatch (在查詢中): string
sendInitialEvents (在查詢中): boolean
timeoutSeconds (在查詢中): integer
watch (在查詢中): boolean
響應
200 (DeploymentList): 正常
401: 未授權
list
列出或監視 Deployment 型別的物件
HTTP 請求
GET /apis/apps/v1/deployments
引數
allowWatchBookmarks (在查詢中): boolean
continue (在查詢中): string
fieldSelector (在查詢中): string
labelSelector (在查詢中): string
limit (在查詢中): integer
pretty (在查詢中): string
resourceVersion (在查詢中): string
resourceVersionMatch (在查詢中): string
sendInitialEvents (在查詢中): boolean
timeoutSeconds (在查詢中): integer
watch (在查詢中): boolean
響應
200 (DeploymentList): 正常
401: 未授權
create
建立一個 Deployment
HTTP 請求
POST /apis/apps/v1/namespaces/{namespace}/deployments
引數
namespace (在路徑中): string,必填
body: Deployment, 必需
dryRun (在查詢中): string
fieldManager (在查詢中): string
fieldValidation (在查詢中): string
pretty (在查詢中): string
響應
200 (Deployment): 正常
201 (Deployment): 已建立
202 (Deployment): 已接受
401: 未授權
update
替換指定的 Deployment
HTTP 請求
PUT /apis/apps/v1/namespaces/{namespace}/deployments/{name}
引數
name (在路徑中): string,必填
Deployment 的名稱
namespace (在路徑中): string,必填
body: Deployment, 必需
dryRun (在查詢中): string
fieldManager (在查詢中): string
fieldValidation (在查詢中): string
pretty (在查詢中): string
響應
200 (Deployment): 正常
201 (Deployment): 已建立
401: 未授權
update
替換指定 Deployment 的狀態
HTTP 請求
PUT /apis/apps/v1/namespaces/{namespace}/deployments/{name}/status
引數
name (在路徑中): string,必填
Deployment 的名稱
namespace (在路徑中): string,必填
body: Deployment, 必需
dryRun (在查詢中): string
fieldManager (在查詢中): string
fieldValidation (在查詢中): string
pretty (在查詢中): string
響應
200 (Deployment): 正常
201 (Deployment): 已建立
401: 未授權
patch
部分更新指定的 Deployment
HTTP 請求
PATCH /apis/apps/v1/namespaces/{namespace}/deployments/{name}
引數
name (在路徑中): string,必填
Deployment 的名稱
namespace (在路徑中): string,必填
body: Patch,必需
dryRun (在查詢中): string
fieldManager (在查詢中): string
fieldValidation (在查詢中): string
force (在查詢中): boolean
pretty (在查詢中): string
響應
200 (Deployment): 正常
201 (Deployment): 已建立
401: 未授權
patch
部分更新指定 Deployment 的狀態
HTTP 請求
PATCH /apis/apps/v1/namespaces/{namespace}/deployments/{name}/status
引數
name (在路徑中): string,必填
Deployment 的名稱
namespace (在路徑中): string,必填
body: Patch,必需
dryRun (在查詢中): string
fieldManager (在查詢中): string
fieldValidation (在查詢中): string
force (在查詢中): boolean
pretty (在查詢中): string
響應
200 (Deployment): 正常
201 (Deployment): 已建立
401: 未授權
delete
刪除一個 Deployment
HTTP 請求
DELETE /apis/apps/v1/namespaces/{namespace}/deployments/{name}
引數
name (在路徑中): string,必填
Deployment 的名稱
namespace (在路徑中): string,必填
body: DeleteOptions
dryRun (在查詢中): string
gracePeriodSeconds (在查詢中): integer
ignoreStoreReadErrorWithClusterBreakingPotential (在查詢中): boolean
pretty (在查詢中): string
propagationPolicy (在查詢中): string
響應
200 (Status): OK
202 (Status): 已接受
401: 未授權
deletecollection
刪除 Deployment 集合
HTTP 請求
DELETE /apis/apps/v1/namespaces/{namespace}/deployments
引數
namespace (在路徑中): string,必填
body: DeleteOptions
continue (在查詢中): string
dryRun (在查詢中): string
fieldSelector (在查詢中): string
gracePeriodSeconds (在查詢中): integer
ignoreStoreReadErrorWithClusterBreakingPotential (在查詢中): boolean
labelSelector (在查詢中): string
limit (在查詢中): integer
pretty (在查詢中): string
propagationPolicy (在查詢中): string
resourceVersion (在查詢中): string
resourceVersionMatch (在查詢中): string
sendInitialEvents (在查詢中): boolean
timeoutSeconds (在查詢中): integer
響應
200 (Status): OK
401: 未授權
本頁面是自動生成的。
如果你打算報告此頁面存在的問題,請在問題描述中提及此頁面是自動生成的。修復可能需要在 Kubernetes 專案的其他地方進行。