For the complete documentation index, see llms.txt. This page is also available as Markdown.

Управляемые кластеры

Узнайте о управляемых кластерах и быстро начните работу с настраиваемыми бэкенд-решениями.

✔️ Введение

Управляемые кластеры упрощают и ускоряют размещение самостоятельно управляемых игровых сервисов и бэкенда. Вы готовите образ сервиса, а мы предоставляем высокодоступную, отказоустойчивую облачную среду для их запуска:

  • аутентификация игроков,

  • хранение данных - аккаунты, прогресс, инвентарь, награды, ...

  • социальные сервисы - чат, кланы, таблицы лидеров, турниры, ...

  • настраиваемый матчмейкинг - с использованием Управляемые кластеры, Управляемые кластеры, ...

  • безсерверные вычисления - управляемые функции как сервис (альт. cloudscript, lambda), ...

Приватные кластеры гарантируют, что вашим сервисам обеспечен выделённый вычислительный ресурс для обслуживания игроков 24/7.

В настоящее время мы предлагаем 3 уровня частных кластеров чтобы удовлетворить потребности каждого:

Уровень
Уровень для любителей
Студийный уровень
Корпоративный уровень

Лучше всего подходит для

энтузиастов, разработчиков-одиночек

коммерческих релизов

запусков с высоким трафиком

Ресурсы

1 vCPU + 2 ГБ ОЗУ

6 vCPU + 12 ГБ ОЗУ

18 vCPU + 48 ГБ ОЗУ

Отказоустойчивость

1 виртуальный узел

3 виртуальных узла

3 виртуальных узла

Ограничение скорости (запросов/с)

200

750

2,000

Цена, в час

$0.0312

$0.146

$0.548

Цена, за 30 дней (непрерывное использование)

$22.464

$105.12

$394.56

Наши кластерные машины используют процессоры AMD/Intel с тактовой частотой 2.4 - 3.2 ГГц. Свяжитесь в сообществе Discord чтобы согласовать нагрузочные тесты и убедиться, что вашему серверу доступно достаточное количество ресурсов.

🛠️ Инструменты разработчика

Если вы видите возможность улучшения, пожалуйста, сообщите нам в нашем сообществе Discord.

Мы надеемся, что вы получите плавный опыт. 🚀

Docker

Чтобы сделать ваш сервер надёжным, мы используем Docker - программное обеспечение виртуализации, чтобы гарантировать, что все зависимости вашего серверного кода вплоть до уровня операционной системы всегда будут точно одинаковыми, вне зависимости от того, как и где запускается сервер.

Мы рекомендуем посмотреть «Никогда не устанавливайте локально» (видео). Вам НЕ нужно использовать Dockerhub с Docker. Docker ≠ Dockerhub. Думайте о Docker как о движке для программирования, а о Dockerhub — как о его магазине приложений.

Kubernetes (K8s)

Kubernetes, также известный как K8s, — это система с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями (Docker Images). Она группирует контейнеры, составляющие приложение, в логические единицы для лёгкого управления и обнаружения.

Управляемые кластеры Edgegap предоставляют Kubernetes API для административных задач.

K8s Lens

С более чем 1 миллионом пользователей, K8s Lens является самым популярным IDE для Kubernetes в мире. Подключайтесь к кластерам, исследуйте, получайте инсайты, изучайте и при необходимости предпринимаете действия. Lens предоставляет всю информацию о ваших нагрузках и ресурсах в реальном времени, всегда в нужном контексте.

Kubernetes API кластера Edgegap можно использовать через Lens или другие IDE для Kubernetes.

Пакетный менеджер Helm

Helm — лучший способ находить, делиться и использовать ПО, созданное для Kubernetes. Helm помогает управлять Kubernetes-приложениями — Helm Charts помогают определять, устанавливать и обновлять даже самые сложные Kubernetes-приложения. Charts легко создавать, версионировать, делиться и публиковать — так что начните использовать Helm и прекратите копировать и вставлять.

Установка Helm CLI обеспечивает разработчикам простой интерфейс для управления пакетами кластера.

🚀 Начало работы

☑️ Зарегистрировались для вашего бесплатного аккаунта Edgegap и обновитесь до тарифа «плати по мере использования», чтобы разблокировать Кластеры.

☑️ Перейдите в Управляемые кластеры страницу.

☑️ Нажмите на Создать кластер сначала, затем введите:

☑️ Просмотрите оценочную стоимость и нажмите Создать кластер чтобы запустить ваш новый кластер.

☑️ Как только кластер будет готов, нажмите Kubeconfig, чтобы скачать вашу конфигурацию и учетные данные для подключения и администрирования вашего нового кластера.

☑️ Переместите файл kubeconfig в kubectl чтобы он мог его найти.

☑️ Пользователи Lens: импортируйте ваш файл kubeconfig.

☑️ Проверьте подключение к кластеру командой kubectl get nodes :

🙌 Поздравляем, вы завершили настройку управляемого кластера! Теперь вы можете устанавливать ваши сервисы.

📦 Nakama от Heroic Labs

Выполните следующие шаги, чтобы разместить свой собственный Игровой бэкенд Nakama в управляемых кластерах:

☑️ Установите Диспетчер сертификатов для поддержки использования HTTPS-запросов от игровых клиентов:

☑️ Lens: проверьте установку в разделе Services / Network, cert-manager должен работать.

☑️ Создайте Cluster Issuer файл, не забудьте заменить <YOUR_EMAIL> ниже:

☑️ Создайте Cluster Issuer в командной строке:

☑️ Lens: проверьте установку в разделе Custom Resources / cert-manager.io - cluster issuer создан.

☑️ Установите nginx Ingress для приема клиентских запросов и передачи их сервисам в кластере:

☑️ Lens: проверьте установку в разделе Services / Network, nginx должен работать.

☑️ Создайте DNS-запись типа A у вашего провайдера DNS (например, Cloudflare), запомните URL для дальнейшего использования. Ваш внешний IP для DNS-записи можно найти в Lens в разделе Services / ingress-nginx-controller .

☑️ Проверьте корректность настройки DNS, выполнив запрос с помощью DNSchecker.

☑️ Создайте файл с именем values.yaml со следующим содержимым (используйте свои значения):

☑️ Разверните helm chart Nakama:

☑️ Lens: проверьте установку в разделе Workloads / Deployments, nakama должен работать.

Подключитесь к вашей консоли Nakama используя URL и учётные данные из values.yaml файла.

🙌 Поздравляем, вы завершили настройку самоуправляемого игрового бэкенда Nakama!

Обновления сервиса

Выполните следующие шаги для обновления сервиса, размещённого в управляемом кластере:

☑️ Обновите ваш файл value.yaml с новыми данными.

☑️ Обновите ваш helm chart, используя эту команду:

☑️ Перезагрузите изменения, завершив обновлённые поды — после этого будет использован новый helm chart, когда мы автоматически перезапустим поды.

🙌 Поздравляем, вы завершили обновление кластера Nakama!

👷 Продвинутый матчмейкер

Выполните следующие шаги, чтобы разместить ваш OpenMatch в управляемом кластере.

☑️ Установите Диспетчер сертификатов для поддержки использования HTTPS-запросов от игровых клиентов:

☑️ Lens: проверьте установку в разделе Services / Network, cert-manager должен работать.

☑️ Создайте Cluster Issuer файл, не забудьте заменить <YOUR_EMAIL> ниже:

☑️ Создайте Cluster Issuer в командной строке:

☑️ Lens: проверьте установку в разделе Custom Resources / cert-manager.io - cluster issuer создан.

☑️ Установите nginx Ingress для приема клиентских запросов и передачи их сервисам в кластере:

☑️ Lens: проверьте установку в разделе Services / Network, nginx должен работать.

☑️ Создайте DNS-запись типа A у вашего провайдера DNS (например, Cloudflare), запомните URL для дальнейшего использования. Ваш внешний IP для DNS-записи можно найти в Lens в разделе Services / ingress-nginx-controller .

☑️ Проверьте корректность настройки DNS, выполнив запрос с помощью DNSchecker.

☑️ Создайте файл с именем values.yaml со следующим содержимым (используйте свои значения):

☑️ Добавьте репозиторий Edgegap в список ваших репозиториев:

☑️ Разверните helm chart продвинутого матчмейкера:

🙌 Поздравляем, вы завершили настройку продвинутого матчмейкера!

Обновления сервиса

Выполните следующие шаги для обновления сервиса, размещённого в управляемом кластере:

☑️ Обновите ваш файл value.yaml с новыми данными.

☑️ Обновите ваш helm chart, используя эту команду:

☑️ Перезагрузите изменения, завершив обновлённые поды (director, mmf, frontend), после чего будет использован новый helm chart, когда мы автоматически перезапустим поды.

🙌 Поздравляем, вы завершили обновление продвинутого матчмейкера!

Непрерывное развертывание

Автоматизируйте обновление ваших сервисов, добавив этот shell-скрипт в ваш пайплайн развертывания:

Проверка сертификата Letsencrypt (C#)

Для некоторых клиентов рекомендованная проверка сертификата Letsencrypt может завершаться с ошибкой:

В крайнем случае игровые клиенты могут реализовать пользовательскую функцию обработки сертификата:

Использование:

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

🟢 Операции и наблюдаемость

Изменения уровня кластера

Подготовьтесь к успеху и оптимизируйте после запуска, чтобы не блокировать игроков в день релиза.

Поддержка и будущие обновления

Ваш успех — наш приоритет. Если вы хотите отправить пользовательские запросы, попросить отсутствующие критические функции или поделиться любыми мыслями, пожалуйста, свяжитесь с нами в нашем сообществе Discord.

Последнее обновление

Это было полезно?