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 (строка), обязательно
addressType указывает тип адреса, переносимого этим EndpointSlice. Все адреса в этом слайсе должны быть одного типа. Это поле неизменяемо после создания. В настоящее время поддерживаются следующие типы адресов: * IPv4: Представляет IPv4-адрес. * IPv6: Представляет IPv6-адрес. * FQDN: Представляет полное доменное имя.
-
endpoints ([]Endpoint), обязательно
Атомарное: будет заменено во время слияния
endpoints — это список уникальных конечных точек в этом слайсе. Каждый слайс может содержать не более 1000 конечных точек.
Endpoint представляет собой отдельную логическую "обработку", реализующую службу.
-
endpoints.addresses ([]строка), обязательно
Набор: уникальные значения будут сохранены во время слияния
адреса этой конечной точки. Содержимое этого поля интерпретируется в соответствии с соответствующим полем addressType EndpointSlice. Потребители должны обрабатывать различные типы адресов в контексте собственных возможностей. Это поле должно содержать как минимум один адрес, но не более 100. Все они предполагаются взаимозаменяемыми, и клиенты могут выбрать использование только первого элемента. См.: https://issue.k8s.io/106267
-
endpoints.conditions (EndpointConditions)
conditions содержит информацию о текущем состоянии конечной точки.
EndpointConditions представляет текущее состояние конечной точки.
-
endpoints.conditions.ready (булево)
ready указывает, что эта конечная точка готова принимать трафик в соответствии с системой, управляющей конечной точкой. Значение nil указывает неизвестное состояние. В большинстве случаев потребители должны интерпретировать это неизвестное состояние как готовое. По соображениям совместимости ready никогда не должно быть «true» для завершаемых конечных точек.
-
endpoints.conditions.serving (булево)
serving идентичен ready, за исключением того, что он устанавливается независимо от состояния завершения конечных точек. Это условие должно быть установлено в значение true для готовой конечной точки, которая завершается. Если значение nil, потребители должны обратиться к условию ready.
-
endpoints.conditions.terminating (булево)
terminating указывает, что эта конечная точка завершается. Значение nil указывает неизвестное состояние. Потребители должны интерпретировать это неизвестное состояние как то, что конечная точка не завершается.
-
-
endpoints.deprecatedTopology (map[строка]строка)
deprecatedTopology содержит информацию о топологии, которая является частью API v1beta1. Это поле устарело и будет удалено при удалении API v1beta1 (не ранее, чем в Kubernetes v1.24). Хотя это поле может содержать значения, оно не записывается через API v1, и любые попытки записи в него будут проигнорированы. Информация о топологии доступна в полях zone и nodeName.
-
endpoints.hints (EndpointHints)
hints содержит информацию, связанную с тем, как должна потребляться конечная точка.
EndpointHints предоставляет подсказки, описывающие, как должна потребляться конечная точка.
-
endpoints.hints.forZones ([]ForZone)
Атомарное: будет заменено во время слияния
forZones указывает зону(ы), которой должна потребляться эта конечная точка, чтобы включить маршрутизацию с учетом топологии.
ForZone предоставляет информацию о том, какие зоны должны потреблять эту конечную точку.
-
endpoints.hints.forZones.name (строка), обязательно
name представляет имя зоны.
-
-
-
endpoints.hostname (строка)
hostname этой конечной точки. Это поле может использоваться потребителями конечных точек для различения конечных точек (например, в именах DNS). Несколько конечных точек, использующих одно и то же имя хоста, следует считать взаимозаменяемыми (например, несколько значений A в DNS). Должно быть в нижнем регистре и соответствовать валидации DNS Label (RFC 1123).
-
endpoints.nodeName (строка)
nodeName представляет имя узла, на котором размещена эта конечная точка. Это может использоваться для определения конечных точек, локальных для узла.
-
endpoints.targetRef (ObjectReference)
targetRef — это ссылка на объект Kubernetes, представляющий эту конечную точку.
-
endpoints.zone (строка)
zone — это имя зоны, в которой существует эта конечная точка.
-
-
ports ([]EndpointPort)
Атомарное: будет заменено во время слияния
ports определяет список сетевых портов, экспонированных каждой конечной точкой в этом слайсе. Каждый порт должен иметь уникальное имя. Если ports пустое, это означает, что нет определенных портов. Если порт определен с нулевым значением порта, это означает "все порты". Каждый слайс может содержать не более 100 портов.
EndpointPort представляет порт, используемый EndpointSlice
-
ports.port (int32)
Номер порта конечной точки. Если это не указано, порты не ограничены и должны интерпретироваться в контексте конкретного потребителя.
-
ports.protocol (строка)
IP-протокол для этого порта. Должно быть UDP, TCP или SCTP. По умолчанию TCP.
-
ports.name (строка)
Имя этого порта. Все порты в EndpointSlice должны иметь уникальное имя. Если EndpointSlice получен из службы Kubernetes, это соответствует Service.ports[].name. Имя должно быть либо пустой строкой, либо соответствовать валидации DNS_LABEL: * длина не должна превышать 63 символов. * должно состоять из строчных букв, цифр или '-'. * должно начинаться и заканчиваться буквой или цифрой. По умолчанию пустая строка.
-
ports.appProtocol (строка)
Прикладной протокол для этого порта. Это поле следует стандартной синтаксике меток Kubernetes. Непрефиксные имена зарезервированы для стандартных имен служб IANA (согласно RFC-6335 и https://www.iana.org/assignments/service-names). Нестандартные протоколы должны использовать префиксные имена, такие как mycompany.com/my-custom-protocol.
-
EndpointSliceList
EndpointSliceList представляет собой список срезов конечных точек.
-
apiVersion: discovery.k8s.io/v1
-
kind: EndpointSliceList
-
metadata (ListMeta)
Стандартные метаданные списка.
-
items ([]EndpointSlice), обязательно
Список срезов конечных точек
© 2022 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2022 The Linux Foundation ®. All rights reserved.
https://v1-26.docs.kubernetes.io/docs/reference/kubernetes-api/service-resources/endpoint-slice-v1/