Spec-Zone.ru › Kubernetes 1.24

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 указывает, что эта конечная точка готова принимать трафик в соответствии с тем, какой системой управляется конечная точка. Значение null указывает неизвестное состояние. В большинстве случаев потребители должны интерпретировать это неизвестное состояние как готовое. По соображениям совместимости ready никогда не должно быть "true" для завершаемых конечных точек.

      • endpoints.conditions.serving (булево)

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

      • endpoints.conditions.terminating (булево)

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

    • 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 представляет имя узла, на котором размещена эта конечная точка. Это можно использовать для определения конечных точек, локальных для узла. Это поле можно включить с помощью шлюза EndpointSliceNodeName.

    • endpoints.targetRef (ObjectReference)

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

    • endpoints.zone (строка)

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

  • ports ([]EndpointPort)

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

    ports определяет список сетевых портов, открытых каждой конечной точкой в этом фрагменте. Каждый порт должен иметь уникальное имя. Если ports пусто, это указывает, что порты не определены. Если порт определен со значением nil, это означает "все порты". Каждый фрагмент может содержать не более 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-24.docs.kubernetes.io/docs/reference/kubernetes-api/service-resources/endpoint-slice-v1/

Spec-Zone.ru

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