Spec-Zone.ru › Kubernetes 1.26

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 (строка), обязательно

    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/

Spec-Zone.ru

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