EndpointSlice

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 個端點。

    Endpoint 代表實作服務的單一邏輯「後端」。

    • endpoints.addresses ([]string), 必填

      集合:唯一值將在合併期間保留

      此端點的位址。此欄位的內容根據對應的 EndpointSlice addressType 欄位進行解譯。消費者必須根據自身能力處理不同類型的位址。這必須包含至少一個位址,但不超過 100 個。這些都被假定為可互換的,並且客戶端可以選擇僅使用第一個元素。請參閱:https://issue.k8s.io/106267

    • endpoints.conditions (EndpointConditions)

      conditions 包含有關端點目前狀態的資訊。

      EndpointConditions 代表端點的目前狀況。

      • 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 包含與應如何使用端點相關聯的資訊。

      EndpointHints 提供描述應如何使用端點的提示。

      • endpoints.hints.forZones ([]ForZone)

        原子性:將在合併期間被取代

        forZones 指出應由此端點使用的區域,以啟用拓撲感知路由。

        ForZone 提供有關哪些區域應使用此端點的資訊。

        • endpoints.hints.forZones.name (string), 必填

          name 代表區域的名稱。

    • 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 標籤語法。有效值為下列其中一項

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}

參數

  • name (在路徑中): 字串, 必填

    EndpointSlice 的名稱

  • namespace (在路徑中): 字串, 必填

    命名空間

  • pretty (在查詢中): 字串

    pretty

回應

200 (EndpointSlice): 成功

401: 未經授權

list 列出或監看 EndpointSlice 種類的物件

HTTP 請求

GET /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices

參數

回應

200 (EndpointSliceList): 成功

401: 未經授權

list 列出或監看 EndpointSlice 種類的物件

HTTP 請求

GET /apis/discovery.k8s.io/v1/endpointslices

參數

回應

200 (EndpointSliceList): 成功

401: 未經授權

create 建立 EndpointSlice

HTTP 請求

POST /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices

參數

回應

200 (EndpointSlice): 成功

201 (EndpointSlice): 已建立

202 (EndpointSlice): 已接受

401: 未經授權

update 取代指定的 EndpointSlice

HTTP 請求

PUT /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}

參數

回應

200 (EndpointSlice): 成功

201 (EndpointSlice): 已建立

401: 未經授權

patch 部分更新指定的 EndpointSlice

HTTP 請求

PATCH /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}

參數

  • name (在路徑中): 字串, 必填

    EndpointSlice 的名稱

  • namespace (在路徑中): 字串, 必填

    命名空間

  • body: Patch, 必填

  • dryRun (在查詢中): 字串

    dryRun

  • fieldManager (在查詢中): 字串

    fieldManager

  • fieldValidation (在查詢中): 字串

    fieldValidation

  • force (在查詢中): 布林值

    force

  • pretty (在查詢中): 字串

    pretty

回應

200 (EndpointSlice): 成功

201 (EndpointSlice): 已建立

401: 未經授權

delete 刪除 EndpointSlice

HTTP 請求

DELETE /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices/{name}

參數

回應

200 (Status): 成功

202 (Status): 已接受

401: 未經授權

deletecollection 刪除 EndpointSlice 的集合

HTTP 請求

DELETE /apis/discovery.k8s.io/v1/namespaces/{namespace}/endpointslices

參數

回應

200 (Status): 成功

401: 未經授權

此頁面為自動產生。

如果您計劃回報此頁面的問題,請在您的問題描述中提及此頁面為自動產生。此修復可能需要在 Kubernetes 專案的其他地方進行。

上次修改時間為太平洋標準時間 2024 年 8 月 28 日下午 6:01:更新 v1.31 的自動產生 API 參考文件 (8ba98c79c1)