Spec-Zone.ru › Kubernetes 1.25

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), required

    addressType указывает тип адреса, переносимого этим EndpointSlice. Все адреса в этом срезе должны быть одного типа. Это поле неизменяемо после создания. В настоящее время поддерживаются следующие типы адресов: * IPv4: Представляет IPv4 адрес. * IPv6: Представляет IPv6 адрес. * FQDN: Представляет полное доменное имя.

  • endpoints ([]Endpoint), required

    Атомарно: будет заменено во время слияния

    endpoints — это список уникальных конечных точек в этом срезе. Каждый срез может содержать не более 1000 конечных точек.

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

    • endpoints.addresses ([]string), required

      Множество: уникальные значения будут сохранены во время слияния

      адреса этой конечной точки. Содержимое этого поля интерпретируется в соответствии с соответствующим полем addressType EndpointSlice. Потребители должны обрабатывать различные типы адресов в контексте собственных возможностей. Это должно содержать как минимум один адрес, но не более 100. Все они предполагаются взаимозаменяемыми, и клиенты могут выбрать использование только первого элемента. Обратитесь к: https://issue.k8s.io/106267

    • endpoints.conditions (EndpointConditions)

      conditions содержит информацию о текущем состоянии конечной точки.

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

      • endpoints.conditions.ready (boolean)

        ready указывает, что эта конечная точка подготовлена для приема трафика в соответствии с тем, какая система управляет конечной точкой. Значение null указывает неизвестное состояние. В большинстве случаев потребители должны интерпретировать это неизвестное состояние как готовое. По соображениям совместимости ready никогда не должно быть "true" для завершающихся конечных точек.

      • endpoints.conditions.serving (boolean)

        serving идентичен ready, за исключением того, что он устанавливается независимо от завершающего состояния конечных точек. Это условие должно быть установлено в значение true для готовой конечной точки, которая завершается. Если значение null, потребители должны обратиться к условию ready. Это поле может быть включено с помощью шлюза функций EndpointSliceTerminatingCondition.

      • endpoints.conditions.terminating (boolean)

        terminating указывает, что эта конечная точка завершается. Значение null указывает неизвестное состояние. Потребители должны интерпретировать это неизвестное состояние как означающее, что конечная точка не завершается. Это поле может быть включено с помощью шлюза функций EndpointSliceTerminatingCondition.

    • endpoints.deprecatedTopology (map[string]string)

      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 (string), required

          name представляет собой имя зоны.

    • endpoints.hostname (string)

      hostname этой конечной точки. Это поле может использоваться потребителями конечных точек для различения конечных точек друг от друга (например, в именах DNS). Несколько конечных точек, использующих одно и то же имя хоста, должны считаться взаимозаменяемыми (например, несколько значений A в DNS). Должно быть в нижнем регистре и проходить проверку DNS-метки (RFC 1123).

    • endpoints.nodeName (string)

      nodeName представляет имя узла, на котором размещена эта конечная точка. Это может быть использовано для определения конечных точек, локальных для узла.

    • endpoints.targetRef (ObjectReference)

      targetRef — это ссылка на объект Kubernetes, который представляет эту конечную точку.

    • endpoints.zone (string)

      zone — это имя зоны, в которой существует эта конечная точка.

  • ports ([]EndpointPort)

    Атомарно: будет заменено во время слияния

    ports задает список сетевых портов, экспонируемых каждой конечной точкой в этом срезе. Каждый порт должен иметь уникальное имя. Если ports пусто, это означает, что нет определенных портов. Если порт определен с пустым значением порта, это означает "все порты". Каждый срез может содержать не более 100 портов.

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

    • ports.port (int32)

      Номер порта конечной точки. Если это не указано, порты не ограничены и должны интерпретироваться в контексте конкретного потребителя.

    • ports.protocol (string)

      Протокол IP для этого порта. Должно быть UDP, TCP или SCTP. По умолчанию — TCP.

    • ports.name (string)

      Имя этого порта. Все порты в EndpointSlice должны иметь уникальное имя. Если EndpointSlice получен из Kubernetes service, это соответствует Service.ports[].name. Имя должно быть либо пустой строкой, либо проходить валидацию DNS_LABEL: * длина не должна превышать 63 символов. * должно состоять из строчных букв, цифр или символа '-'. * должно начинаться и заканчиваться буквой или цифрой. По умолчанию — пустая строка.

    • ports.appProtocol (string)

      Прикладной протокол для этого порта. Это поле соответствует стандартной синтаксической конструкции меток 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), required

    Список срезов конечных точек

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

Spec-Zone.ru

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