EndpointSlice
apiVersion: discovery.k8s.io/v1
import "k8s.io/api/discovery/v1"
EndpointSlice
EndpointSlice 代表實作服務的端點子集。對於給定的服務,可能有多個 EndpointSlice 物件,這些物件由標籤選取,且必須聯結以產生完整的端點集合。
apiVersion: discovery.k8s.io/v1
kind: EndpointSlice
metadata (ObjectMeta)
標準物件的中繼資料。
addressType (string), 必填
addressType 指定此 EndpointSlice 攜帶的位址類型。此 Slice 中的所有位址必須為相同類型。此欄位在建立後即不可變。目前支援以下位址類型:* IPv4:代表 IPv4 位址。* IPv6:代表 IPv6 位址。* FQDN:代表完整合格網域名稱。
endpoints ([]Endpoint), 必填
原子性:將在合併期間被取代
endpoints 是此 Slice 中唯一端點的列表。每個 Slice 最多可包含 1000 個端點。
endpoints.addresses ([]string), 必填
集合:唯一值將在合併期間保留
此端點的位址。此欄位的內容根據對應的 EndpointSlice addressType 欄位進行解譯。消費者必須根據自身能力處理不同類型的位址。這必須包含至少一個位址,但不超過 100 個。這些都被假定為可互換的,並且客戶端可以選擇僅使用第一個元素。請參閱:https://issue.k8s.io/106267
endpoints.conditions (EndpointConditions)
conditions 包含有關端點目前狀態的資訊。
endpoints.conditions.ready (boolean)
ready 指出此端點已準備好接收流量,根據管理端點的任何系統而定。nil 值表示未知狀態。在大多數情況下,消費者應將此未知狀態解譯為就緒。出於相容性考量,對於終止端點,ready 永遠不應為「true」,除非明確覆寫正常就緒行為,例如當關聯的 Service 設定了 publishNotReadyAddresses 標誌時。
endpoints.conditions.serving (boolean)
serving 與 ready 相同,不同之處在於無論端點的終止狀態如何,都會設定它。對於正在終止的就緒端點,此狀況應設定為 true。如果為 nil,消費者應延遲到 ready 狀況。
endpoints.conditions.terminating (boolean)
terminating 指出此端點正在終止。nil 值表示未知狀態。消費者應將此未知狀態解譯為端點未終止。
endpoints.deprecatedTopology (map[string]string)
deprecatedTopology 包含 v1beta1 API 的拓撲資訊。此欄位已棄用,並將在移除 v1beta1 API 時移除(不早於 kubernetes v1.24)。雖然此欄位可以保留值,但無法透過 v1 API 寫入,並且任何寫入嘗試都會被靜默忽略。拓撲資訊可以在 zone 和 nodeName 欄位中找到。
endpoints.hints (EndpointHints)
hints 包含與應如何使用端點相關聯的資訊。
endpoints.hostname (string)
此端點的主機名稱。端點的消費者可以使用此欄位來區分彼此的端點(例如,在 DNS 名稱中)。使用相同主機名稱的多個端點應被視為可互換的(例如,DNS 中的多個 A 記錄值)。必須為小寫並通過 DNS 標籤 (RFC 1123) 驗證。
endpoints.nodeName (字串)
nodeName 代表託管此端點的節點名稱。這可用於確定節點本機的端點。
endpoints.targetRef (ObjectReference)
targetRef 是對代表此端點的 Kubernetes 物件的參考。
endpoints.zone (字串)
zone 是此端點所在的區域名稱。
ports ([]EndpointPort)
原子性:將在合併期間被取代
ports 指定此切片中每個端點公開的網路埠清單。每個埠都必須具有唯一的名稱。當 ports 為空時,表示沒有定義任何埠。當埠定義為 nil 埠值時,表示「所有埠」。每個切片最多可包含 100 個埠。
EndpointPort 代表 EndpointSlice 使用的埠
ports.port (int32)
port 代表端點的埠號。如果未指定,則埠不受限制,並且必須根據特定消費者的情境來解釋。
ports.protocol (字串)
protocol 代表此埠的 IP 協定。必須為 UDP、TCP 或 SCTP。預設值為 TCP。
ports.name (字串)
name 代表此埠的名稱。EndpointSlice 中的所有埠都必須具有唯一的名稱。如果 EndpointSlice 是從 Kubernetes 服務衍生而來,則此名稱對應於 Service.ports[].name。名稱必須為空字串或通過 DNS_LABEL 驗證:* 長度不得超過 63 個字元。* 必須由小寫字母數字字元或 '-' 組成。* 必須以字母數字字元開頭和結尾。預設值為空字串。
ports.appProtocol (字串)
此埠的應用程式協定。這用作實作的提示,以便為它們理解的協定提供更豐富的行為。此欄位遵循標準 Kubernetes 標籤語法。有效值為下列其中一項
無前綴的協定名稱 - 保留給 IANA 標準服務名稱(根據 RFC-6335 和 https://www.iana.org/assignments/service-names))。
Kubernetes 定義的前綴名稱
- 'kubernetes.io/h2c' - 透過明文的 HTTP/2 事前知識,如 https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- 中所述
- 'kubernetes.io/ws' - 透過明文的 WebSocket,如 https://www.rfc-editor.org/rfc/rfc6455 中所述
- 'kubernetes.io/wss' - 透過 TLS 的 WebSocket,如 https://www.rfc-editor.org/rfc/rfc6455 中所述
其他協定應使用實作定義的前綴名稱,例如 mycompany.com/my-custom-protocol。
EndpointSliceList
EndpointSliceList 代表端點切片的清單
apiVersion: discovery.k8s.io/v1
種類: EndpointSliceList
metadata (ListMeta)
標準清單 metadata。
items ([]EndpointSlice), 必填
items 是端點切片的清單
操作
get
讀取指定的 EndpointSlice
HTTP 請求
GET /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}
參數
回應
200 (EndpointSlice): 成功
401: 未經授權
list
列出或監看 EndpointSlice 種類的物件
HTTP 請求
GET /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices
參數
namespace (在路徑中): 字串, 必填
allowWatchBookmarks (在查詢中): 布林值
continue (在查詢中): 字串
fieldSelector (在查詢中): 字串
labelSelector (在查詢中): 字串
limit (在查詢中): 整數
pretty (在查詢中): 字串
resourceVersion (在查詢中): 字串
resourceVersionMatch (在查詢中): 字串
sendInitialEvents (在查詢中): 布林值
timeoutSeconds (在查詢中): 整數
watch (在查詢中): 布林值
回應
200 (EndpointSliceList): 成功
401: 未經授權
list
列出或監看 EndpointSlice 種類的物件
HTTP 請求
GET /apis/discovery.k8s.io/v1/endpointslices
參數
allowWatchBookmarks (在查詢中): 布林值
continue (在查詢中): 字串
fieldSelector (在查詢中): 字串
labelSelector (在查詢中): 字串
limit (在查詢中): 整數
pretty (在查詢中): 字串
resourceVersion (在查詢中): 字串
resourceVersionMatch (在查詢中): 字串
sendInitialEvents (在查詢中): 布林值
timeoutSeconds (在查詢中): 整數
watch (在查詢中): 布林值
回應
200 (EndpointSliceList): 成功
401: 未經授權
create
建立 EndpointSlice
HTTP 請求
POST /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices
參數
namespace (在路徑中): 字串, 必填
body: EndpointSlice, 必填
dryRun (在查詢中): 字串
fieldManager (在查詢中): 字串
fieldValidation (在查詢中): 字串
pretty (在查詢中): 字串
回應
200 (EndpointSlice): 成功
201 (EndpointSlice): 已建立
202 (EndpointSlice): 已接受
401: 未經授權
update
取代指定的 EndpointSlice
HTTP 請求
PUT /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}
參數
name (在路徑中): 字串, 必填
EndpointSlice 的名稱
namespace (在路徑中): 字串, 必填
body: EndpointSlice, 必填
dryRun (在查詢中): 字串
fieldManager (在查詢中): 字串
fieldValidation (在查詢中): 字串
pretty (在查詢中): 字串
回應
200 (EndpointSlice): 成功
201 (EndpointSlice): 已建立
401: 未經授權
patch
部分更新指定的 EndpointSlice
HTTP 請求
PATCH /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}
參數
name (在路徑中): 字串, 必填
EndpointSlice 的名稱
namespace (在路徑中): 字串, 必填
body: Patch, 必填
dryRun (在查詢中): 字串
fieldManager (在查詢中): 字串
fieldValidation (在查詢中): 字串
force (在查詢中): 布林值
pretty (在查詢中): 字串
回應
200 (EndpointSlice): 成功
201 (EndpointSlice): 已建立
401: 未經授權
delete
刪除 EndpointSlice
HTTP 請求
DELETE /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}
參數
name (在路徑中): 字串, 必填
EndpointSlice 的名稱
namespace (在路徑中): 字串, 必填
body: DeleteOptions
dryRun (在查詢中): 字串
gracePeriodSeconds (在查詢中): 整數
pretty (在查詢中): 字串
propagationPolicy (在查詢中): 字串
回應
200 (Status): 成功
202 (Status): 已接受
401: 未經授權
deletecollection
刪除 EndpointSlice 的集合
HTTP 請求
DELETE /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices
參數
namespace (在路徑中): 字串, 必填
body: DeleteOptions
continue (在查詢中): 字串
dryRun (在查詢中): 字串
fieldSelector (在查詢中): 字串
gracePeriodSeconds (在查詢中): 整數
labelSelector (在查詢中): 字串
limit (在查詢中): 整數
pretty (在查詢中): 字串
propagationPolicy (在查詢中): 字串
resourceVersion (在查詢中): 字串
resourceVersionMatch (在查詢中): 字串
sendInitialEvents (在查詢中): 布林值
timeoutSeconds (在查詢中): 整數
回應
200 (Status): 成功
401: 未經授權
此頁面為自動產生。
如果您計劃回報此頁面的問題,請在您的問題描述中提及此頁面為自動產生。此修復可能需要在 Kubernetes 專案的其他地方進行。