kubectl 使用約定
kubectl
的推薦用法約定。
在可重用指令碼中使用 kubectl
為了在指令碼中獲得穩定的輸出
- 請求一種面向機器的輸出格式,例如
-o name
、-o json
、-o yaml
、-o go-template
或-o jsonpath
。 - 完整限定版本。例如,
jobs.v1.batch/myjob
。這將確保 kubectl 不會使用可能隨時間變化的預設版本。 - 不要依賴上下文、偏好或其他隱式狀態。
子資源
- 您可以為
kubectl
子命令(例如get
、patch
、edit
、apply
和replace
)使用--subresource
引數,以獲取和更新支援它們的特定資源的子資源。在 Kubernetes v1.34 版本中,僅支援status
、scale
和resize
子資源。- 對於
kubectl edit
,不支援scale
子資源。如果您將--subresource
與kubectl edit
一起使用並指定scale
作為子資源,該命令將報錯。
- 對於
- 與子資源的 API 合約與完整資源相同。在將
status
子資源更新為新值時,請注意該子資源可能會被控制器自動調和為其他值。
最佳實踐
kubectl run
使 kubectl run
符合基礎設施即程式碼原則
- 使用特定版本的標籤標記映象,並且不要將該標籤指向新版本。例如,使用
:v1234
、v1.2.3
、r03062016-1-4
,而不是:latest
(有關更多資訊,請參閱 容器映象最佳實踐)。 - 在指令碼中檢查高度引數化的映象。
- 對於需要但無法透過
kubectl run
標誌表達的功能,請切換到已納入版本控制的配置檔案。
您可以使用 --dry-run=client
標誌來預覽將傳送到叢集的物件,而無需實際提交它。
kubectl apply
- 您可以使用
kubectl apply
來建立或更新資源。有關使用 kubectl apply 更新資源的更多資訊,請參閱 Kubectl Book。
最後修改於 2025 年 2 月 19 日太平洋標準時間上午 11:19:更新 kubetl 子資源文件 (ab6b9ae2ed)