LeaseCandidate v1alpha1
apiVersion: coordination.k8s.io/v1alpha1
import "k8s.io/api/coordination/v1alpha1"
LeaseCandidate
LeaseCandidate определяет кандидата для объекта Lease. Кандидаты создаются таким образом, чтобы скоординированный выбор лидера выбирал лучшего лидера из списка кандидатов.
apiVersion: coordination.k8s.io/v1alpha1
kind: LeaseCandidate
-
metadata (ObjectMeta)
Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
-
spec (LeaseCandidateSpec)
spec содержит спецификацию объекта Lease. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
LeaseCandidateSpec
LeaseCandidateSpec — это спецификация объекта Lease.
-
leaseName (строка), обязательно
LeaseName — это имя объекта lease, за который претендует этот кандидат. Это поле неизменяемо.
-
preferredStrategies ([]строка), обязательно
Атомарно: будет заменено во время слияния
PreferredStrategies указывает список стратегий для выбора лидера при скоординированном выборе лидера. Список упорядочен, и первая стратегия имеет приоритет над всеми другими. Список используется скоординированным выбором лидера для принятия решения о конечной стратегии выбора. Это означает: - Если все клиенты имеют стратегию X в качестве первого элемента в этом списке, будет использоваться стратегия X. - Если у кандидата есть стратегия [X], а у другого кандидата стратегия [Y, X], Y имеет приоритет над X, и будет использоваться стратегия Y.
- Если у кандидата есть стратегия [X, Y], а у другого кандидата стратегия [Y, X], это ошибка пользователя, и выбор лидера не будет работать с Lease, пока не будет исправлена. (Альфа) Использование этого поля требует, чтобы функция CoordinatedLeaderElection была включена.
-
binaryVersion (строка)
BinaryVersion — это двоичная версия. Она должна быть в формате semver без ведущих
v. Это поле необходимо, когда стратегия — "OldestEmulationVersion" -
emulationVersion (строка)
EmulationVersion — это версия эмуляции. Она должна быть в формате semver без ведущих
v. EmulationVersion должна быть меньше или равна BinaryVersion. Это поле необходимо, когда стратегия — "OldestEmulationVersion" -
pingTime (MicroTime)
PingTime — это последнее время, когда сервер запросил у LeaseCandidate обновление. Это делается только во время выбора лидера для проверки того, стали ли какие-либо LeaseCandidates непригодными. При обновлении PingTime LeaseCandidate отвечает обновлением RenewTime.
MicroTime — это версия Time с точностью до микросекунд.
-
renewTime (MicroTime)
RenewTime — это время, когда LeaseCandidate был в последний раз обновлен. В любое время, когда Lease нужно выполнить выбор лидера, поле PingTime обновляется, чтобы сообщить LeaseCandidate, что он должен обновить RenewTime. Старые объекты LeaseCandidate также удаляются, если с момента последнего обновления прошло несколько часов. Поле PingTime обновляется регулярно, чтобы предотвратить удаление по-прежнему активных LeaseCandidate.
MicroTime — это версия Time с точностью до микросекунд.
LeaseCandidateList
LeaseCandidateList — это список объектов Lease.
apiVersion: coordination.k8s.io/v1alpha1
kind: LeaseCandidateList
-
metadata (ListMeta)
Стандартные метаданные списка. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
-
items ([]LeaseCandidate), обязательно
items — это список объектов схемы.
© 2024 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2024 The Linux Foundation ®. All rights reserved.
https://kubernetes.io/docs/reference/kubernetes-api/cluster-resources/lease-candidate-v1alpha1/