Управляемые кластеры
Узнайте о управляемых кластерах и быстро начните работу с пользовательскими бэкенд-решениями.
✔️ Введение
Управляемые кластеры упрощают и ускоряют размещение самоуправляемых игровых сервисов и игрового бэкенда. Вы подготавливаете образ сервиса, а мы предоставляем отказоустойчивую облачную среду с высокой доступностью для их запуска:
аутентификация игроков,
хранение данных — аккаунты, прогресс, инвентарь, награды и т.д.,
социальные сервисы — чат, кланы, таблицы лидеров, турниры и т.д.,
пользовательский матчмейкинг — с использованием Управляемые кластеры, Управляемые кластеры, ...
безсерверные вычисления — управляемые функции как сервис (альт. cloudscript, lambda) и т.д.,
См. Матчмейкинг и Браузер серверов чтобы начать интеграцию клиентской части игры.
Приватные кластеры гарантируют, что ваши сервисы имеют выделённые вычислительные ресурсы для обслуживания игроков круглосуточно.
В настоящее время мы предлагаем 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
🛠️ Инструменты для разработчиков
Если вы видите возможности для улучшения, пожалуйста, сообщите нам в нашем сообществе Discord.
Надеемся, что у вас будет гладкий опыт. 🚀
Docker
Чтобы сделать ваш сервер надёжным, мы используем Docker - программное обеспечение виртуализации, обеспечивающее одинаковые до уровня операционной системы зависимости вашего серверного кода независимо от того, как и где сервер запускается.
Kubernetes (K8s)
Kubernetes, также известный как K8s, — это система с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнеризованными приложениями (Docker Images). Она группирует контейнеры, составляющие приложение, в логические единицы для облегчения управления и обнаружения.
Управляемые кластеры Edgegap предоставляют Kubernetes API для административных задач.
K8s Lens
С более чем 1 миллионом пользователей, K8s Lens является самой популярной IDE для Kubernetes в мире. Подключайтесь к кластерам, исследуйте, получайте аналитические данные, учитесь и при необходимости действуйте. Lens предоставляет всю информацию о ваших нагрузках и ресурсах в реальном времени, всегда в нужном контексте.
Kubernetes API кластера Edgegap можно использовать через Lens или другие IDE для Kubernetes.
Helm Package Manager
Helm — лучший способ находить, делиться и использовать программное обеспечение, созданное для Kubernetes. Helm помогает управлять Kubernetes-приложениями — Helm Charts помогают определять, устанавливать и обновлять даже самые сложные Kubernetes-приложения. Чарты легко создавать, версионировать, делиться и публиковать — так что начните использовать 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> ниже:
Используйте letsencrypt-prod для вашего продакшен-кластера privateKeySecretRef.
☑️ Создайте Cluster Issuer в командной строке:
☑️ Lens: проверьте установку в разделе Custom Resources / cert-manager.io - cluster issuer создан.
☑️ Установите nginx Ingress для приёма клиентских запросов и передачи их сервисам в кластере:
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm upgrade --install ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx --create-namespace☑️ Lens: проверьте установку в разделе Services / Network, nginx должен быть запущен.
☑️ Создайте DNS запись типа A в вашем DNS-провайдере (например, Cloudflare), запишите URL для дальнейшего использования. Ваш внешний IP для DNS-записи можно найти в Lens в разделе Services / ingress-nginx-controller .
☑️ Проверьте правильность настройки DNS, выполнив запрос с помощью DNSchecker.
☑️ Создайте файл с именем values.yaml с содержимым (используйте свои значения):
Замените <VALUES> выше на ваши собственные значения в файле выше.
☑️ Разверните Helm-чарт Nakama:
☑️ Lens: проверьте установку в разделе Workloads / Deployments, nakama должен работать.
✅ Подключитесь к консоли Nakama с помощью URL и учётных данных из values.yaml файла.
🙌 Поздравляем, вы завершили настройку самохостинга игрового бэкенда Nakama!
Обновления сервиса
Выполните следующие шаги, чтобы обновить ваш сервис, размещённый в управляемом кластере:
☑️ Обновите ваш value.yaml файл новыми файлами.
☑️ Обновите ваш Helm-чарт, используя эту команду:
☑️ Перезагрузите изменения, завершив обновлённые поды, что приведёт к использованию нового Helm-чарта после автоматического перезапуска подов.
Это это обновление вызовет краткий простой пока поды перезапускаются.
🙌 Поздравляем, вы завершили обновление кластера Nakama!
👷 Расширенный матчмейкер
См. Управляемые кластеры перед настройкой ваших служб на управляемых кластерах.
Выполните следующие шаги, чтобы разместить ваш OpenMatch в управляемом кластере.
☑️ Установите Менеджер сертификатов чтобы поддерживать использование HTTPS-запросов от игровых клиентов:
☑️ Lens: проверьте установку в разделе Services / Network, cert-manager должен быть запущен.
☑️ Создайте Cluster Issuer файл, не забудьте заменить <YOUR_EMAIL> ниже:
Используйте letsencrypt-prod для вашего продакшен-кластера privateKeySecretRef.
☑️ Создайте Cluster Issuer в командной строке:
☑️ Lens: проверьте установку в разделе Custom Resources / cert-manager.io - cluster issuer создан.
☑️ Установите nginx Ingress для приёма клиентских запросов и передачи их сервисам в кластере:
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm upgrade --install ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx --create-namespace☑️ Lens: проверьте установку в разделе Services / Network, nginx должен быть запущен.
☑️ Создайте DNS-запись типа A в вашем DNS-провайдере (например, Cloudflare), запишите URL для дальнейшего использования. Ваш внешний IP для DNS-записи можно найти в Lens в разделе Services / ingress-nginx-controller .
☑️ Проверьте правильность настройки DNS, выполнив запрос с помощью DNSchecker.
☑️ Создайте файл с именем values.yaml с содержимым (используйте свои значения):
Замените <VALUES> выше на ваши собственные значения в файле выше.
☑️ Добавьте репозиторий Edgegap в список ваших репозиториев:
☑️ Разверните Helm-чарт расширенного матчмейкера:
🙌 Поздравляем, вы завершили настройку расширенного матчмейкера!
Обновления сервиса
Выполните следующие шаги, чтобы обновить ваш сервис, размещённый в управляемом кластере:
☑️ Обновите ваш value.yaml файл новыми файлами.
☑️ Обновите ваш Helm-чарт, используя эту команду:
☑️ Перезагрузите изменения, завершив обновлённые поды (director, mmf, frontend), что приведёт к использованию нового Helm-чарта после автоматического перезапуска подов.
Это это обновление вызовет краткий простой пока поды перезапускаются.
🙌 Поздравляем, вы завершили обновление расширенного матчмейкера!
Непрерывное развёртывание
Автоматизируйте обновление ваших сервисов, добавив этот shell-скрипт в ваш конвейер развёртывания:
Это это обновление вызовет краткий простой пока поды перезапускаются.
Проверка сертификата Letsencrypt (C#)
Для некоторых клиентов рекомендованная проверка сертификата Letsencrypt может завершаться с ошибкой:
Обновление вашей операционной системы может устранить проблемы с устаревшим корневым центром сертификации.
В крайнем случае, игровые клиенты могут реализовать пользовательскую функцию обработки сертификата:
Использование:
Мы рекомендуем хранить значение EXPECTED_CERT в вашем собственном файловом хранилище и извлекать его во время выполнения, чтобы вы могли обновлять его без выпуска обновления клиента игры.
🟢 Операции и наблюдаемость
Изменения уровня кластера
Подготовьтесь к успеху и оптимизируйте после запуска, чтобы не блокировать ваших игроков в день релиза.
Изменение размера кластера требует остановки кластера. См. blue/green deployment для обновлений без простоя.
Поддержка и будущие обновления
Ваш успех — наш приоритет. Если вы хотите отправлять индивидуальные запросы, попросить недостающие критические функции или высказать любые мысли, пожалуйста, свяжитесь с нами в нашем сообществе Discord.
Последнее обновление
Это было полезно?

