Конечные точки
apiVersion: v1
import "k8s.io/api/core/v1"
Конечные точки
Конечные точки — это набор конечных точек, реализующих фактический сервис. Пример: Имя: "mysvc", Подмножества: [ { Адреса: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}], Порты: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}] }, { Адреса: [{"ip": "10.10.3.3"}], Порты: [{"name": "a", "port": 93}, {"name": "b", "port": 76}] }, ]
-
apiVersion: v1
-
kind: Конечные точки
-
metadata (ObjectMeta)
Стандартные метаданные объекта. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
-
subsets ([]EndpointSubset)
Набор всех конечных точек — это объединение всех подмножеств. Адреса размещаются в подмножествах в соответствии с общими IP-адресами. Одиночный адрес с несколькими портами, некоторые из которых готовы, а некоторые — нет (потому что они из разных контейнеров), приведет к отображению адреса в разных подмножествах для разных портов. Ни один адрес не будет отображаться как в адресах, так и в адресах NotReadyAddresses в одном подмножестве. Наборы адресов и портов, составляющие сервис.
EndpointSubset — это группа адресов с общим набором портов. Расширенный набор конечных точек — это декартово произведение Addresses x Ports. Например, учитывая: { Адреса: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}], Порты: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}] } Результирующий набор конечных точек можно рассматривать как: a: [ 10.10.1.1:8675, 10.10.2.2:8675 ], b: [ 10.10.1.1:309, 10.10.2.2:309 ]
-
subsets.addresses ([]EndpointAddress)
IP-адреса, которые предлагают связанные порты, помеченные как готовые. Эти конечные точки должны считаться безопасными для использования балансировщиками нагрузки и клиентами.
EndpointAddress — это кортеж, описывающий единственный IP-адрес.
-
subsets.addresses.ip (string), required
IP этой конечной точки. Не должен быть обратным (127.0.0.0/8), локальным (169.254.0.0/16) или локальным мультиадресным ((224.0.0.0/24). IPv6 также принимается, но не полностью поддерживается на всех платформах. Кроме того, некоторые компоненты Kubernetes, такие как kube-proxy, не поддерживают IPv6.
-
subsets.addresses.hostname (string)
Имя хоста этой конечной точки
-
subsets.addresses.nodeName (string)
Необязательно: узел, на котором размещена эта конечная точка. Это можно использовать для определения конечных точек, локальных для узла.
-
subsets.addresses.targetRef (ObjectReference)
Ссылка на объект, предоставляющий конечную точку.
-
-
subsets.notReadyAddresses ([]EndpointAddress)
IP-адреса, которые предлагают связанные порты, но в настоящее время не помечены как готовые, потому что они еще не завершили запуск, недавно не прошли проверку готовности или недавно не прошли проверку работоспособности.
EndpointAddress — это кортеж, описывающий единственный IP-адрес.
-
subsets.notReadyAddresses.ip (string), required
IP этой конечной точки. Не должен быть обратным (127.0.0.0/8), локальным (169.254.0.0/16) или локальным мультиадресным ((224.0.0.0/24). IPv6 также принимается, но не полностью поддерживается на всех платформах. Кроме того, некоторые компоненты Kubernetes, такие как kube-proxy, не поддерживают IPv6.
-
subsets.notReadyAddresses.hostname (string)
Имя хоста этой конечной точки
-
subsets.notReadyAddresses.nodeName (string)
Необязательно: узел, на котором размещена эта конечная точка. Это можно использовать для определения конечных точек, локальных для узла.
-
subsets.notReadyAddresses.targetRef (ObjectReference)
Ссылка на объект, предоставляющий конечную точку.
-
-
subsets.ports ([]EndpointPort)
Номера портов, доступные по связанным IP-адресам.
EndpointPort — это кортеж, описывающий единственный порт.
-
subsets.ports.port (int32), required
Номер порта конечной точки.
-
subsets.ports.protocol (string)
IP-протокол для этого порта. Должен быть UDP, TCP или SCTP. По умолчанию — TCP.
-
subsets.ports.name (string)
Имя этого порта. Оно должно совпадать с полем «name» в соответствующем ServicePort. Должно быть DNS_LABEL. Необязательно только в случае определения одного порта.
-
subsets.ports.appProtocol (string)
Прикладной протокол для этого порта. Это поле соответствует стандартной синтаксике меток Kubernetes. Непрефиксные имена зарезервированы для стандартных имён служб IANA (в соответствии с RFC-6335 и https://www.iana.org/assignments/service-names). Нестандартные протоколы должны использовать префиксные имена, такие как mycompany.com/my-custom-protocol.
-
-
Список конечных точек
EndpointsList — это список конечных точек.
-
apiVersion: v1
-
kind: Список конечных точек
-
metadata (ListMeta)
Стандартные метаданные списка. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
items ([]Endpoints), required
Список конечных точек.
© 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/endpoints-v1/