RuntimeClass
apiVersion: node.k8s.io/v1
import "k8s.io/api/node/v1"
RuntimeClass
RuntimeClass 定義叢集中支援的容器執行期類別。RuntimeClass 用於決定哪個容器執行期用於執行 Pod 中的所有容器。RuntimeClass 由使用者或叢集佈建者手動定義,並在 PodSpec 中參考。Kubelet 負責在執行 Pod 之前解析 RuntimeClassName 參考。如需更多詳細資訊,請參閱 https://kubernetes.dev.org.tw/docs/concepts/containers/runtime-class/
apiVersion: node.k8s.io/v1
kind: RuntimeClass
metadata (ObjectMeta)
更多資訊: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
handler (string), 必填
handler 指定 CRI 實作將用於處理此類別 Pod 的底層執行期和組態。可能的值特定於節點和 CRI 組態。假定所有處理常式在每個節點上都可用,並且同名的處理常式在每個節點上都是等效的。例如,名為 "runc" 的處理常式可能指定將使用 runc OCI 執行期(使用原生 Linux 容器)來執行 Pod 中的容器。Handler 必須是小寫,符合 DNS 標籤 (RFC 1123) 需求,並且是不可變的。
overhead (Overhead)
overhead 代表與給定 RuntimeClass 的 Pod 執行相關聯的資源額外負擔。如需更多詳細資訊,請參閱 https://kubernetes.dev.org.tw/docs/concepts/scheduling-eviction/pod-overhead/
overhead.podFixed (map[string]Quantity)
podFixed 代表與執行 Pod 相關的固定資源負擔。
scheduling (Scheduling)
scheduling 保留排程約束,以確保使用此 RuntimeClass 執行的 Pod 會排程到支援它的節點。如果 scheduling 為 nil,則假設所有節點都支援此 RuntimeClass。
Scheduling 指定支援 RuntimeClass 的節點的排程約束。
scheduling.nodeSelector (map[string]string)
nodeSelector 列出支援此 RuntimeClass 的節點上必須存在的標籤。使用此 RuntimeClass 的 Pod 只能排程到與此選取器匹配的節點。RuntimeClass nodeSelector 會與 Pod 現有的 nodeSelector 合併。任何衝突都將導致 Pod 在准入時被拒絕。
scheduling.tolerations ([]Toleration)
Atomic: 將在合併期間被取代
tolerations 在准入期間附加(排除重複項)到使用此 RuntimeClass 執行的 Pod,有效地將 Pod 和 RuntimeClass 容忍的節點集合聯集。
附加此 Toleration 的 Pod 可以容忍任何符合 <key,value,effect> 三元組且使用匹配運算子 <operator> 的污點。
scheduling.tolerations.key (string)
Key 是容忍度適用的污點鍵。空白表示匹配所有污點鍵。如果鍵為空白,則 operator 必須為 Exists;此組合表示匹配所有值和所有鍵。
scheduling.tolerations.operator (string)
Operator 代表鍵與值之間的關係。有效的運算子為 Exists 和 Equal。預設值為 Equal。Exists 等同於值的萬用字元,因此 Pod 可以容忍特定類別的所有污點。
scheduling.tolerations.value (string)
Value 是容忍度匹配的污點值。如果運算子為 Exists,則值應為空白,否則只是一個常規字串。
scheduling.tolerations.effect (string)
Effect 指示要匹配的污點效果。空白表示匹配所有污點效果。指定時,允許的值為 NoSchedule、PreferNoSchedule 和 NoExecute。
scheduling.tolerations.tolerationSeconds (int64)
TolerationSeconds 代表容忍度(必須為 effect NoExecute,否則此欄位將被忽略)容忍污點的時間段。預設情況下,它未設定,這表示永遠容忍污點(不驅逐)。系統會將零值和負值視為 0(立即驅逐)。
RuntimeClassList
RuntimeClassList 是 RuntimeClass 物件的列表。
apiVersion: node.k8s.io/v1
kind: RuntimeClassList
metadata (ListMeta)
標準列表元數據。更多資訊:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
items ([]RuntimeClass), required
items 是架構物件的列表。
Operations
get
讀取指定的 RuntimeClass
HTTP Request
GET /apis/node.k8s.io/v1/runtimeclasses/{name}
Parameters
name (in path): string, required
RuntimeClass 的名稱
pretty (in query): string
Response
200 (RuntimeClass): OK
401: Unauthorized
list
列出或監看 RuntimeClass 類型的物件
HTTP Request
GET /apis/node.k8s.io/v1/runtimeclasses
Parameters
allowWatchBookmarks (in query): boolean
continue (in query): string
fieldSelector (in query): string
labelSelector (in query): string
limit (in query): integer
pretty (in query): string
resourceVersion (in query): string
resourceVersionMatch (in query): string
sendInitialEvents (in query): boolean
timeoutSeconds (in query): integer
watch (in query): boolean
Response
200 (RuntimeClassList): OK
401: Unauthorized
create
建立 RuntimeClass
HTTP Request
POST /apis/node.k8s.io/v1/runtimeclasses
Parameters
body: RuntimeClass, required
dryRun (in query): string
fieldManager (in query): string
fieldValidation (in query): string
pretty (in query): string
Response
200 (RuntimeClass): OK
201 (RuntimeClass): Created
202 (RuntimeClass): Accepted
401: Unauthorized
update
取代指定的 RuntimeClass
HTTP Request
PUT /apis/node.k8s.io/v1/runtimeclasses/{name}
Parameters
name (in path): string, required
RuntimeClass 的名稱
body: RuntimeClass, required
dryRun (in query): string
fieldManager (in query): string
fieldValidation (in query): string
pretty (in query): string
Response
200 (RuntimeClass): OK
201 (RuntimeClass): Created
401: Unauthorized
patch
部分更新指定的 RuntimeClass
HTTP Request
PATCH /apis/node.k8s.io/v1/runtimeclasses/{name}
Parameters
name (in path): string, required
RuntimeClass 的名稱
body: Patch, required
dryRun (in query): string
fieldManager (in query): string
fieldValidation (in query): string
force (in query): boolean
pretty (in query): string
Response
200 (RuntimeClass): OK
201 (RuntimeClass): Created
401: Unauthorized
delete
刪除 RuntimeClass
HTTP Request
DELETE /apis/node.k8s.io/v1/runtimeclasses/{name}
Parameters
name (in path): string, required
RuntimeClass 的名稱
body: DeleteOptions
dryRun (in query): string
gracePeriodSeconds (in query): integer
pretty (in query): string
propagationPolicy (in query): string
Response
200 (Status): OK
202 (Status): Accepted
401: Unauthorized
deletecollection
刪除 RuntimeClass 的集合
HTTP Request
DELETE /apis/node.k8s.io/v1/runtimeclasses
Parameters
body: DeleteOptions
continue (in query): string
dryRun (in query): string
fieldSelector (in query): string
gracePeriodSeconds (in query): integer
labelSelector (in query): string
limit (in query): integer
pretty (in query): string
propagationPolicy (in query): string
resourceVersion (in query): string
resourceVersionMatch (in query): string
sendInitialEvents (in query): boolean
timeoutSeconds (in query): integer
Response
200 (Status): OK
401: Unauthorized
此頁面為自動產生。
如果您計劃回報此頁面的問題,請在您的問題描述中提及此頁面為自動產生。此修復可能需要在 Kubernetes 專案中的其他地方進行。