Внешние узлы кластера
Примечание
Подключение внешних узлов находится на стадии Preview. Их использование не тарифицируется.
Managed Service for Kubernetes позволяет подключать в качестве узлов кластера Kubernetes серверы, расположенные вне Yandex Cloud.
Требования для подключения внешних узлов к кластеру
Чтобы подключить внешние узлы к кластеру Managed Service for Kubernetes, необходимо соответствие следующим требованиям:
-
Сетевая связность на уровне L3 между локальной сетевой инфраструктурой ваших серверов и облачной сетью кластера Managed Service for Kubernetes. Внешние узлы подключаются к мастеру кластера только через его внутренний IP-адрес в облачной сети Yandex Cloud.
Установить приватное выделенное соединение между вашей локальной сетевой инфраструктурой и Yandex Cloud можно следующими способами:
- С помощью сервиса Yandex Cloud Interconnect.
- Самостоятельно с помощью VPN.
-
Кластер Managed Service for Kubernetes использует туннельный режим сети.
-
Подключаемые серверы должны иметь доступ в интернет.
-
Операционная система подключаемых серверов – Ubuntu 20.04.
Как подключить внешние узлы к кластеру Managed Service for Kubernetes читайте в разделе Подключение внешних узлов к кластеру.
Разделение ответственности
Ключевыми моментами для предсказуемой работы внешних узлов в кластере является обеспечение бесперебойной работы:
- вычислительной инфраструктуры - используемых серверов и установленной на них операционной системы;
- мы не рекомендуем использовать подключаемые сервера для чего-либо кроме выполнения функций узлов кластера;
- локальной сетевой инфраструктуры используемых серверов;
- соединения между вашей локальной сетевой инфраструктурой и Yandex Cloud.
Yandex Cloud предоставляет услугу обеспечения надежного приватного соединения между вашей локальной сетевой и облачной инфраструктурой в рамках сервиса Cloud Interconnect. В качестве альтернативы вы можете самостоятельно настраивать и обеспечивать качество такого соединения с помощью VPN.
Yandex Cloud не предоставляет услугу по управлению и обеспечению надежности вычислительной и сетевой инфраструктуры вне датацентров Yandex Cloud. Вы можете воспользоваться преимуществами управляемой инфраструктуры в рамках использования обычных групп узлов сервиса Managed Service for Kubernetes.
Ограничения при работе с внешними узлами
При проектировании распределения рабочих нагрузок по узлам в кластере Managed Service for Kubernetes необходимо учитывать следующие особенности:
- К внешним узлам невозможно подключать объекты
PersistentVolume
на основе облачных дисков Yandex Cloud. - Сервисы на основе L3-балансировщиков Yandex Cloud (например,
LoadBalancer
) не распределяют трафик на такие узлы.
Нагрузки, которым необходима эта функциональность, необходимо размещать только на узлах кластера Managed Service for Kubernetes, которые расположены в Yandex Cloud. Для этого вы можете воспользоваться настройками node affinity
...
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: yandex.cloud/node-group-id # Kubernetes-метка узлов, расположенных в Yandex Cloud.
operator: Exists
...
В качестве альтернативы управлению трафиком с помощью L3 балансировщиков вы можете воспользоваться управлением трафиком на уровне L7. Для этого установите в кластер Managed Service for Kubernetes Ingress-контроллер и используйте ресурсы типа Ingress
.
В настоящий момент Ingress-контроллер на базе Yandex Application Load Balancer не поддерживает балансировку на внешние узлы, вы можете проголосовать за скорейшую реализацию подобной возможности здесь. В качестве временной альтернативы вы можете воспользоваться одним из альтернативных Ingress-контроллеров.