kubernetes資源清單
五個一級欄位:
apiVersion:形式:組名/version。對介面分組進行管理。檢視:kubectl api-versions。v1是核心群組。內測,公測,V1版
kind:
metadata:元資料
name:
namespace:k8s中的概念。跟docker虛擬化的namespace不同
labels
annotations
每個資源的引用的PATH:/api/GROUP_NAME/VERSION/namespaces/NAMESPACE/TYPE/NAME
spec:規劃,規格,期望的狀態,desired state
status:當前的狀態,向期望狀態靠近。current state,由kubernetes生成,使用者不能定義
建立資源的方法:
apiserver僅接受json格式的資源定義,
yaml格式提供配置清單,apiserver可自動將其轉換為json格式,而後再提交。
查詢幫助:kubectl explain pod.metadata pod.spec
資源清單配置:
Pod資源:
metadata:
name:
namespace:
labels:
spec: kubectl explain pods.spec.containers
containers:
- name <string> -required-
image <string>
imagePullPolicy <string>: Always, Never, IfNotPresent, Cannot be updated
command <[]string> : 優先順序高於Dockerfile中ENTRYPOINT和CMD
args <[]string>: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
ports: 用作提供資訊或者變數引用,不對暴露埠起作用,
- name: http
containerPort <integer> -required-