Spec-Zone.ru › Kubernetes

EndpointSlice

EndpointSlice представляет набор конечных точек службы. Большинство объектов EndpointSlice создаются контроллером EndpointSlice для представления модулей Pod, выбранных объектами Service. Для одной службы может существовать несколько объектов EndpointSlice, которые необходимо объединить, чтобы получить полный набор конечных точек; все срезы для данной службы можно найти, перечислив объекты EndpointSlice в пространстве имён службы, у которых метка kubernetes.io/service-name содержит имя службы.
Документация по концепции EndpointSlice
  • EndpointSlices

    API EndpointSlice — это механизм, который Kubernetes использует, чтобы позволить службе масштабироваться для обработки большого числа серверных компонентов и эффективно обновлять список исправных серверных компонентов в кластере.

    1. API EndpointSlice
    2. Что дальше

apiVersion: discovery.k8s.io/v1

import "k8s.io/api/discovery/v1"

EndpointSlice

EndpointSlice представляет набор конечных точек службы. Большинство объектов EndpointSlice создаются контроллером EndpointSlice для представления модулей Pod, выбранных объектами Service. Для одной службы может существовать несколько объектов EndpointSlice, которые необходимо объединить, чтобы получить полный набор конечных точек; все срезы для данной службы можно найти, перечислив объекты EndpointSlice в пространстве имён службы, у которых метка kubernetes.io/service-name содержит имя службы.

Поле Описание
addressType *
string
addressType задаёт тип адреса, используемого в этом EndpointSlice. Все адреса в этом срезе должны иметь один и тот же тип. Это поле неизменяемо после создания. В настоящее время поддерживаются следующие типы адресов: * IPv4: представляет адрес IPv4. * IPv6: представляет адрес IPv6. * FQDN: представляет полное доменное имя. (Устарело) Контроллер EndpointSlice создаёт только срезы с addressType "IPv4" и "IPv6", и kube-proxy обрабатывает только их. Для типа "FQDN" семантика не определена.

Возможные значения перечисления:
- `"FQDN"` представляет FQDN.
- `"IPv4"` представляет адрес IPv4.
- `"IPv6"` представляет адрес IPv6.
apiVersion
string
APIVersion задаёт версию схемы этого представления объекта. Серверы должны преобразовывать распознаваемые схемы в последнее внутреннее представление и могут отклонять нераспознаваемые значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
endpoints
Массив Endpoint
endpoints — это список уникальных конечных точек в этом срезе. Каждый срез может содержать не более 1000 конечных точек.
kind
string
Kind — строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определять его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлён. В формате CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
Стандартные метаданные объекта.
ports
Массив EndpointPort
ports задаёт список сетевых портов, предоставляемых каждой конечной точкой в этом срезе. У каждого порта должно быть уникальное имя. Каждый срез может содержать не более 100 портов. Службы всегда имеют как минимум 1 порт, поэтому созданные контроллером EndpointSlice объекты EndpointSlice также всегда будут иметь как минимум 1 порт. Объекты EndpointSlice, используемые для других целей, могут иметь пустой список портов.

EndpointSliceList

EndpointSliceList представляет список срезов конечных точек

Поле Описание
apiVersion
string
APIVersion задаёт версию схемы этого представления объекта. Серверы должны преобразовывать распознаваемые схемы в последнее внутреннее представление и могут отклонять нераспознаваемые значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
Массив EndpointSlice
items — это список срезов конечных точек
kind
string
Kind — строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определять его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлён. В формате CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
Стандартные метаданные списка.

Endpoint

Endpoint представляет одну логическую «серверную» конечную точку, реализующую службу.

Поле Описание
addresses *
string array
addresses — адреса этой конечной точки. Для объектов EndpointSlice с addressType "IPv4" или "IPv6" значения представляют собой IP-адреса в канонической форме. Синтаксис и семантика других значений addressType не определены. Здесь должен быть указан как минимум один адрес, но не более 100. Объекты EndpointSlice, созданные контроллером EndpointSlice, всегда содержат ровно 1 адрес. Семантика дополнительных адресов, помимо первого, не определена, и kube-proxy их не учитывает.
conditions
EndpointConditions
conditions содержит сведения о текущем состоянии конечной точки.
deprecatedTopology
object
deprecatedTopology содержит сведения о топологии из API v1beta1. Это поле устарело и будет удалено вместе с API v1beta1 (не ранее Kubernetes v1.24). Пока в этом поле могут храниться значения, записывать их через API v1 нельзя; все попытки записи будут молча игнорироваться. Сведения о топологии можно найти в полях zone и nodeName.
hints
EndpointHints
hints содержит сведения о том, как следует использовать конечную точку.
hostname
string
hostname — имя хоста этой конечной точки. Это поле может использоваться потребителями конечных точек, чтобы различать конечные точки (например, в DNS-именах). Несколько конечных точек с одинаковым именем хоста следует считать взаимозаменяемыми (например, несколько значений A в DNS). Имя должно быть в нижнем регистре и соответствовать требованиям проверки DNS Label (RFC 1123).
nodeName
string
nodeName — имя узла Node, на котором размещена эта конечная точка. Это поле можно использовать для определения конечных точек, локальных для узла Node.
targetRef
ObjectReference
targetRef — ссылка на объект Kubernetes, представляющий эту конечную точку.
zone
string
zone — имя зоны Zone, в которой находится эта конечная точка.

EndpointConditions

EndpointConditions представляет текущее состояние конечной точки.

Поле Описание
ready
boolean
ready указывает, готова ли эта конечная точка принимать трафик согласно системе, управляющей ею. Значение nil следует интерпретировать как "true". В общем случае конечную точку следует считать готовой, если она обслуживает запросы и не завершает работу, однако в некоторых случаях это поведение можно переопределить, например, если для связанной службы установлен флаг publishNotReadyAddresses.
serving
boolean
serving указывает, может ли эта конечная точка принимать трафик согласно системе, управляющей ею. Для конечных точек, обслуживаемых модулями Pod, контроллер EndpointSlice установит для конечной точки serving значение true, если условие Ready модуля Pod имеет значение True. Значение nil следует интерпретировать как "true".
terminating
boolean
terminating указывает, завершается ли работа этой конечной точки. Значение nil следует интерпретировать как "false".

EndpointHints

EndpointHints предоставляет подсказки о том, как следует использовать конечную точку.

Поле Описание
forNodes
Массив ForNode
forNodes указывает узел или узлы, для которых следует использовать эту конечную точку при маршрутизации с учётом топологии. Может содержать не более 8 записей.
forZones
Массив ForZone
forZones указывает зону или зоны, для которых следует использовать эту конечную точку при маршрутизации с учётом топологии. Может содержать не более 8 записей.

EndpointPort

EndpointPort представляет порт, используемый объектом EndpointSlice

Поле Описание
appProtocol
string
Протокол приложения для этого порта. Это поле используется как подсказка, позволяющая реализациям предоставлять расширенные возможности для поддерживаемых ими протоколов. Это поле соответствует стандартному синтаксису меток 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' — WebSocket через TLS, как описано в https://www.rfc-editor.org/rfc/rfc6455 * Для других протоколов следует использовать имена с префиксом, определяемым реализацией, например mycompany.com/my-custom-protocol.
name
string
name задаёт имя этого порта. Все порты в EndpointSlice должны иметь уникальные имена. Если EndpointSlice создан на основе службы Kubernetes, это поле соответствует Service.ports[].name. Имя должно быть пустой строкой или соответствовать требованиям проверки DNS_LABEL: * длина не должна превышать 63 символа. * имя должно состоять из строчных буквенно-цифровых символов или '-'. * имя должно начинаться и заканчиваться буквенно-цифровым символом. По умолчанию — пустая строка.
port
integer
port задаёт номер порта конечной точки. Если EndpointSlice создан на основе службы Kubernetes, здесь должен быть указан целевой порт службы. Объекты EndpointSlice, используемые для других целей, могут иметь значение nil для порта.
protocol
string
protocol задаёт IP-протокол для этого порта. Допустимы UDP, TCP или SCTP. По умолчанию — TCP.

Возможные значения перечисления:
- `"SCTP"` — протокол SCTP.
- `"TCP"` — протокол TCP.
- `"UDP"` — протокол UDP.

ForNode

ForNode предоставляет сведения о том, каким узлам следует использовать эту конечную точку.

Поле Описание
name *
string
name задаёт имя узла.

ForZone

ForZone предоставляет сведения о том, каким зонам следует использовать эту конечную точку.

Поле Описание
name *
string
name задаёт имя зоны.

© 2026 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2026 The Linux Foundation ®. All rights reserved.
https://kubernetes.io/docs/reference/kubernetes-api/discovery/endpoint-slice-v1/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API