Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Требования к инфраструктуре

В статье представлены основные требования к инфраструктуре для работы с zVirt Containers. Параметры могут меняться в зависимости от масштаба проекта и используемых модулей.

1. Требования к вычислительным ресурсам

Ниже приведены минимальные конфигурации для работы с zVirt Containers. Фактические требования могут увеличиваться в зависимости от нагрузки выбранных модулей.

1.1. Nova Universe

Для развертывания кластера Nova Container Platform используется сервер управления Nova Universe.

Наименование узла Количество ВМ vCPU RAM, ГБ Диск, ГБ IOPS

Nova Universe

1

4

16

256

300+

1.2. Конфигурация кластера (без дополнительных модулей)

Минимальная конфигурация

Наименование узла Количество ВМ vCPU RAM, ГБ Диск, ГБ IOPS

Master

1

4

8

32

500+

Infra

1

8

16

128

1000+

Worker

1

2

4

32

300+

Итого

3

14

28

192

Рекомендуемая конфигурация

Наименование узла Количество ВМ vCPU RAM, ГБ Диск, ГБ IOPS

Master

3

4

8

32

500+

Infra

3

6

12

128

1000+

Ingress

2 и более

2

4

32

300+

Worker

2 и более

2

4

32

300+

Итого

10 и более

38

76

608

1.3. Требования для установки дополнительных модулей

1.3.1. NeuVector

Для использования модуля NeuVector в кластере Nova Container Platform необходимо добавить следующее количество ресурсов:

Наименование узла vCPU RAM, ГБ

Master

1

3

Infra

4

10

Ingress

1

3

Worker

1

3

Итого

7

19

1.3.2. OpenSearch

Для использования модуля OpenSearch в кластере Nova Container Platform необходимо добавить следующее количество ресурсов:

Наименование узла vCPU RAM, ГБ

Master

1

1

Infra

3

4

Ingress

1

1

Worker

1

1

Итого

6

7

1.3.3. Velero

Для использования модуля Velero в кластере Nova Container Platform необходимо добавить следующее количество ресурсов:

Наименование узла vCPU RAM, ГБ

Master

1

1

Infra

1

1

Ingress

1

1

Worker

1

1

Итого

4

4

1.3.4. Longhorn

Для использования хранилища Longhorn в кластере Nova Container Platform необходимо добавить следующее количество ресурсов:

Наименование узла vCPU RAM, ГБ

Worker

2

4

Для минимальной конфигурации используется 1 узел, совмещающий роли client и storage.

Для высокодоступной конфигурации требуется 3 storage-узла. На этих узлах должны быть доступны отдельные блочные устройства, например диски, которые Longhorn сможет использовать для создания виртуальных томов.

1.3.5. Nova Service Mesh (Tech Preview)

Для установки дополнительного модуля Nova Service Mesh требуется следующее количество ресурсов:

Наименование узла vCPU RAM, ГБ Диск, ГБ

Master

1

1

-

Infra

4

6

36

Worker

1

1

-

Для каждого Pod, в котором будет установлен sidecar, требуется дополнительное количество ресурсов из расчета на 1000 RPS:

Ресурс vCPU RAM, МиБ

Pod

1

50

1.4. Пример конфигурации с дополнительными модулями

Минимальная конфигурация с дополнительными модулями (NeuVector, OpenSearch, Velero)

Наименование узла Количество ВМ vCPU RAM, ГБ Диск, ГБ IOPS

Master

1

8

14

32

500+

Infra

1

16

32

128

1000+

Worker

1

6

10

32

300+

Итого

3

30

56

192

Рекомендуемая конфигурация с дополнительными модулями (NeuVector, OpenSearch, Velero)

Наименование узла Количество ВМ vCPU RAM, ГБ Диск, ГБ IOPS

Master

3

8

14

32

500+

Infra

3

14

28

128

1000+

Ingress

2 и более

6

10

32

300+

Worker

2 и более

6

10

32

300+

Итого

10 и более

90

166

608

2. Требования к DNS и сети

Для работы с zVirt Containers необходимо выполнить требования к DNS и обеспечить сетевую связность между компонентами решения.

2.1. Требования к zVirt

DNS-сервер, обслуживающий корневой домен инсталляции zVirt, должен быть доступен из сети управления zVirt (management network).

2.2. Требования к Nova

2.2.1. DNS записи для встроенных сервисов

Подготовьте DNS-записи до установки Nova Container Platform. Чтобы избежать задержек при развертывании кластера, заранее зарезервируйте и настройте DNS-имена, указывающие на infra-узлы кластера. Эти DNS-записи используют встроенные компоненты платформы.

Рекомендуемые записи для базовой установки:

  • nova-cilium-hubble.nova.mycompany.local

  • nova-release-git-main.nova.mycompany.local

  • nova-console.nova.mycompany.local

  • nova-oauth.nova.mycompany.local

  • nova-alertmanager-main.nova.mycompany.local

  • nova-grafana-main.nova.mycompany.local

  • nova-prometheus-main.nova.mycompany.local

При использовании OpenSearch и NeuVector добавьте:

  • nova-neuvector-ui.nova.mycompany.local

  • nova-neuvector-api-docs.nova.mycompany.local

  • nova-logs-main.nova.mycompany.local

При использовании Nova Service Mesh добавьте:

  • nova-jaeger-main.nova.mycompany.local

  • nova-kiali.nova.mycompany.local

  • nova-prometheus-mesh.nova.mycompany.local

  • nova-grafana-mesh.nova.mycompany.local

Замените nova.mycompany.local на значение dnsBaseDomain, указанное в манифесте nova-deployment-conf.yaml.

2.3. Внешние взаимодействия

Для установки кластера Nova Container Platform по умолчанию требуется доступ к сети Интернет. В вашей инфраструктуре необходимо обеспечить доступ к следующим ресурсам:

Ресурс DNS-имя Порт IP-адреса

Хранилище образов

hub.nova-platform.io, storage.cloud.croc.ru

HTTPS/443

217.73.59.254/32, 217.73.63.221/32, 217.73.60.72/32, 217.73.60.192/32

Сервис проверки лицензии

access.nova-platform.io

HTTPS/443

217.73.59.254/32, 217.73.60.72/32, 217.73.60.192/32

Сервис доставки ПО

code.nova-platform.io

HTTPS/443

217.73.59.254/32, 217.73.60.72/32, 217.73.60.192/32

Сервис настройки ПО

sun.nova-platform.io

HTTPS/8140

217.73.59.254/32, 217.73.60.72/32, 217.73.60.192/32

2.4. Закрытое сетевое окружение

Сервер управления Nova Universe поддерживает IP-адрес, настроенный как через DHCP, так и статически. Рекомендуется размещать сервер управления в отдельной от кластеров Kubernetes сети.

  • Если вы используете DHCP-сервер для настройки сетевого интерфейса сервера, настройте его на предоставление постоянного IP-адреса и сведений о DNS-серверах

  • Сервер управления Nova Universe не поддерживает IPv6

Требования к DNS

Для установки платформы с использованием Nova Universe требуется внутренний DNS-сервер, при этом создание записей в нем является обязательным условием. При использовании внешнего DNS-сервера, например 8.8.8.8, невозможно установить платформу.

2.4.1. DNS-записи для сервисов Nova Universe

Подготовьте DNS-записи до установки Nova Container Platform. Чтобы избежать задержек при развертывании кластера, заранее зарезервируйте и настройте DNS-имена, указывающие на Nova Universe.

Необходимые DNS-записи для установки в закрытом сетевом окружении:

  • hub.universe.mycompany.local

  • sun.universe.mycompany.local

  • repo.universe.mycompany.local

DNS-записи, необходимые для взаимодействия с сервисами Nova Universe с АРМ пользователя:

  • cluster-manager.universe.mycompany.local

  • api.universe.mycompany.local

  • nova-api.universe.mycompany.local

  • uploads.universe.mycompany.local

Замените universe.mycompany.local на запланированный базовый домен Nova Universe.

2.4.2. Требования к межсетевому экранированию

Сетевые правила для обеспечения взаимодействия Nova Universe и узлов Nova Container Platform приведены в таблице:

Источник Адресат Тип трафика Порт/протокол Описание

Nova Universe

Мастер-узлы

Входящий

6443/TCP

Kubernetes API

Nova Universe

Мастер-узлы

Входящий

8200/TCP

StarVault API

Nova Universe

Все узлы

Входящий

22/TCP

SSH

Nova Universe

Инфраструктурные узлы

Входящий

80/TCP

Ingress Nginx Controller HTTP

Nova Universe

Инфраструктурные узлы

Входящий

443/TCP

Ingress Nginx Controller HTTPS

Все узлы

Nova Universe

Входящий

443/TCP

Ingress Nginx Controller HTTPS

Сетевые правила для обеспечения взаимодействия Nova Universe и АРМ пользователя приведены в таблице:

Источник Адресат Тип трафика Порт/протокол Описание

АРМ пользователя платформы

Nova Universe

Входящий

443/TCP

Ingress Nginx Controller HTTPS

2.5. Внутренние взаимодействия

Для корректной установки и работы Nova Container Platform настройте правила ниже в сетевом сегменте, где расположены узлы платформы, либо не ограничивайте взаимодействие узлов.

2.5.1. Узел nova-ctl

Источник Адресат Тип трафика Порт/протокол Описание

Узел nova-ctl

Мастер-узлы

Входящий

6443/TCP

Kubernetes API

Узел nova-ctl

Мастер-узлы

Входящий

8200/TCP

StarVault API

Узел nova-ctl

Все узлы

Входящий

22/TCP

SSH

Узел nova-ctl

Инфраструктурные узлы

Входящий

80/TCP

Ingress Nginx Controller HTTP

Узел nova-ctl

Инфраструктурные узлы

Входящий

443/TCP

Ingress Nginx Controller HTTPS

2.5.2. Мастер-узлы кластера Kubernetes

Источник Адресат Тип трафика Порт/протокол Описание

Все узлы, АРМ пользователей платформы

Мастер-узлы

Входящий

6443/TCP

Kubernetes API

Все узлы

Мастер-узлы

Входящий

8200/TCP

StarVault API

Все узлы

Мастер-узлы

Входящий

18200/TCP

StarVault API

Все узлы

Мастер-узлы

Входящий

2379/TCP

Etcd Client Requests

Инфраструктурные узлы

Мастер-узлы

Входящий

10259/TCP

Kubernetes Scheduler metrics

Инфраструктурные узлы

Мастер-узлы

Входящий

10257/TCP

Kubernetes Controller Manager metrics

Мастер-узлы

Мастер-узлы

Двунаправленный

8201/TCP

StarVault Cluster Endpoint

Мастер-узлы

Мастер-узлы

Двунаправленный

2380/TCP

Etcd Peer Requests

Мастер-узлы

Все узлы

Исходящий

10250/TCP

Kubelet

2.5.3. Инфраструктурные узлы кластера Kubernetes

Источник Адресат Тип трафика Порт/протокол Описание

Все узлы, АРМ пользователей платформы

Инфраструктурные узлы

Входящий

80/TCP

Ingress Nginx Controller HTTP

Все узлы, АРМ пользователей платформы

Инфраструктурные узлы

Входящий

443/TCP

Ingress Nginx Controller HTTPS

Все узлы

Инфраструктурные узлы

Входящий

8443/TCP

Ingress Nginx Controller Validating webhook

Инфраструктурные узлы

Все узлы

Исходящий

9100/TCP

Prometheus Node Exporter

Инфраструктурные узлы

Все узлы

Исходящий

9962/TCP

Cilium Agent metrics

Инфраструктурные узлы

Все узлы

Исходящий

9963/TCP

Cilium Operator metrics

Инфраструктурные узлы

Мастер-узлы

Исходящий

10259/TCP

Kubernetes Scheduler metrics

Инфраструктурные узлы

Мастер-узлы

Исходящий

10257/TCP

Kubernetes Controller Manager metrics

Инфраструктурные узлы

Все узлы

Исходящий

10250/TCP

Kubelet

Инфраструктурные узлы

Инфраструктурные узлы

Исходящий

10249/TCP

Kube Proxy metrics

2.5.4. Узлы балансировки входящих запросов (Ingress-узлы)

Источник Адресат Тип трафика Порт/протокол Описание

Все узлы, АРМ пользователей платформы

Ingress-узлы

Входящий

80/TCP

Ingress Nginx Controller HTTP

Все узлы, АРМ пользователей платформы

Ingress-узлы

Входящий

443/TCP

Ingress Nginx Controller HTTPS

Все узлы

Ingress-узлы

Входящий

8443/TCP

Ingress Nginx Controller Validating webhook

Инфраструктурные узлы

Ingress-узлы

Входящий

10254/TCP

Ingress Nginx Controller metrics

Если в конфигурации кластера Nova Container Platform не используются выделенные Ingress-узлы, примените все правила для Ingress-узлов к рабочим узлам (Worker).

2.5.5. Все узлы кластера Kubernetes

Источник Адресат Тип трафика Порт/протокол Описание

Все узлы

Все узлы

Двунаправленный

179/TCP

BGP

Все узлы

Все узлы

Двунаправленный

4789/UDP

VXLAN Overlay

Все узлы

Все узлы

Двунаправленный

8472/UDP

VXLAN Overlay

Все узлы

Все узлы

Двунаправленный

IPIP (4)

IP in IP Protocol

Все узлы

Все узлы

Двунаправленный

4240/TCP

Cilium Health Check

Все узлы

Все узлы

Двунаправленный

ICMP (8/0)

Cilium Health Check

Все узлы

Все узлы

Двунаправленный

4244/TCP

Cilium Hubble server

Все узлы

Все узлы

Двунаправленный

4245/TCP

Cilium Hubble relay

Инфраструктурные узлы

Все узлы

Входящий

9100/TCP

Prometheus Node Exporter

Инфраструктурные узлы

Все узлы

Входящий

9962/TCP

Cilium Agent metrics

Инфраструктурные узлы

Все узлы

Входящий

9963/TCP

Cilium Operator metrics

Инфраструктурные узлы

Все узлы

Входящий

10249/TCP

Kube Proxy metrics

Инфраструктурные узлы и мастер-узлы

Все узлы

Входящий

10250/TCP

Kubelet

Все узлы

Мастер-узлы

Исходящий

2379/TCP

Etcd Client Requests

Все узлы

Мастер-узлы

Исходящий

8200/TCP

StarVault API

Все узлы

Инфраструктурные узлы

Исходящий

80/TCP

Ingress Nginx Controller HTTP (Internal)

Все узлы

Инфраструктурные узлы

Исходящий

443/TCP

Ingress Nginx Controller HTTPS (Internal)

Все узлы

Инфраструктурные узлы, Ingress-узлы

Исходящий

8443/TCP

Ingress Nginx Controller Validating webhook

Все узлы

Мастер-узлы

Исходящий

6443/TCP

Kubernetes API

Если планируете устанавливать Nova Container Platform с использованием HTTP-прокси, добавьте в список разрешающих правил доступ к HTTP-прокси со всех узлов платформы.

2.5.6. АРМ пользователей платформы

Источник Адресат Тип трафика Порт/протокол Описание

АРМ пользователей платформы

Ingress-узлы

Исходящий

80/TCP

Ingress Nginx Controller HTTP (Public)

АРМ пользователей платформы

Ingress-узлы

Исходящий

443/TCP

Ingress Nginx Controller HTTPS (Public)

АРМ пользователей платформы

Инфраструктурные узлы

Исходящий

80/TCP

Ingress Nginx Controller HTTP (Internal)

АРМ пользователей платформы

Инфраструктурные узлы

Исходящий

443/TCP

Ingress Nginx Controller HTTPS (Internal)

АРМ пользователей платформы

Мастер-узлы

Исходящий

6443/TCP

Kubernetes API

При развертывании Nova Container Platform в публичных облаках за контроль сетевого взаимодействия отвечают списки контроля доступа (Network ACL) и группы безопасности. Убедитесь, что настроенные в инфраструктуре правила не пересекаются и не блокируют друг друга. При необходимости добавьте узлы платформы в общую группу безопасности без ограничений сетевого взаимодействия.

2.6. Требования к сетевым балансировщикам

Для работы внутренних компонентов Nova Container Platform не требуется наличие внешних сетевых балансировщиков в пользовательской инфраструктуре.

Конфигурация кластера предусматривает наличие необходимых встроенных механизмов для обеспечения отказоустойчивого доступа к компонентам Kubernetes API и Ingress.

Чтобы обеспечить внешний отказоустойчивый доступ пользователей к компонентам Kubernetes API и Ingress, учтите следующие требования к настройке собственных сетевых балансировщиков:

Балансировщик Kubernetes API предоставляет общую точку подключения пользователю и сервисам для работы с кластером.

  • Поддерживается только Layer-4 балансировка (Raw TCP, SSL Passthrough).

Для работы с Kubernetes API не требуется настройка сохранения сессий (персистентность).

На сетевом балансировщике должны быть настроены следующие порты:

Порт Backend-узлы Внутренний доступ Внешний доступ Описание

6443

Мастер-узлы. Для проверки доступности узла (healthcheck) необходимо настроить HTTP-проверку, используя путь /readyz.

Да

Да

Kubernetes API

Балансировщики Ingress предоставляют общую точку подключения пользователям и сервисам для работы с веб-сервисами, публикуемыми через Ingress-контроллеры, а также сервисами Kubernetes, для которых используется Layer-4 балансировка средствами Ingress-контроллера.

  • Поддерживается Layer-4 балансировка (Raw TCP, Raw UDP, SSL Passthrough).

  • Поддерживается Layer-7 балансировка для доступа к публикуемым веб-сервисам.

Использование дополнительной Layer-7 балансировки для доступа к публикуемым веб-сервисам может привести к увеличению затрат на их настройку и поддержание стабильности сессий и подключений.

На сетевом балансировщике должны быть настроены следующие порты:

Порт Backend-узлы Внутренний доступ Внешний доступ Описание

80

Инфраструктурные узлы. Для healthcheck настройте HTTP-проверку пути /healthz.

Да

Да

Доступ к служебным веб-сервисам Ingress по HTTP

443

Инфраструктурные узлы. Для healthcheck настройте HTTP-проверку пути /healthz.

Да

Да

Доступ к служебным веб-сервисам Ingress по HTTPS

53

Инфраструктурные узлы

Да

Да

Доступ к DNS-службе при внутреннем или гибридном режиме работы DNS

80

Ingress-узлы. Для healthcheck настройте HTTP-проверку пути /healthz.

Да

Да

Доступ к публичным веб-сервисам Ingress по HTTP

443

Ingress-узлы. Для healthcheck настройте HTTP-проверку пути /healthz.

Да

Да

Доступ к публичным веб-сервисам Ingress по HTTPS

Указанный выше перечень портов может быть расширен при использовании собственных дополнительных правил TCP и UDP балансировки.

При установке Nova Container Platform в минимальной конфигурации роль узлов балансировки входящего трафика (Ingress) выполняют рабочие узлы, выделенные для пользовательских нагрузок.