托管集群

了解托管集群并快速开始使用自定义后端解决方案。

✔️ 介绍

托管集群使托管自管理游戏服务和游戏后端变得简单且快速。您准备服务镜像,我们提供高可用、弹性的云环境来运行它们:

  • 玩家认证,

  • 数据存储 - 帐户、进度、物品、奖励,...

  • 社交服务 - 聊天、公会、排行榜、锦标赛,...

  • 自定义匹配 - 使用 托管集群, 托管集群, ...

  • 无服务器计算 - 托管的 函数即服务 (或云脚本、Lambda),...

私有集群确保您的服务拥有 专用计算资源以 24/7 为玩家提供服务.

我们目前提供 3 个私有集群等级 以满足每个人的需求:

等级
爱好者层
工作室层
企业层

最适合

爱好者, 个人开发者

商业发布

高流量上线

资源

1 vCPU + 2GB 内存

6 vCPU + 12GB 内存

18 vCPU + 48GB 内存

冗余

1x 虚拟节点

3x 虚拟节点

3x 虚拟节点

速率限制(请求/秒)

200

750

2,000

价格(每小时)

$0.0312

$0.146

$0.548

价格(30 天) (不间断使用)

$22.464

$105.12

$394.56

我们的集群机器使用时钟频率为 2.4 - 3.2 GHz 的 AMD/Intel CPU。如需协调负载测试并确保您的服务器有足够资源,请在 社区 Discord 联系我们以协调负载测试并确保您的服务器有足够的可用资源。

🛠️ 开发者工具

如果您发现改进的机会,请在我们的 社区 Discord.

我们希望您能享受顺畅的体验。🚀

Docker

为了帮助使您的服务器可靠,我们使用 Docker - 虚拟化软件以确保从操作系统级别到所有服务器代码依赖项始终完全相同,无论服务器如何或在哪里启动。

我们建议观看 “永远不要本地安装”(视频). 使用 Docker 时你不需要使用 Dockerhub。Docker ≠ Dockerhub。把 Docker 想象成一个编程引擎,而 Dockerhub 则像它的应用商店。

Kubernetes (K8s)

Kubernetes,也称为 K8s,是一个用于自动化部署、扩展和管理容器化应用程序(Docker 镜像)的开源系统。它将构成应用程序的容器分组为便于管理和发现的逻辑单元。

Edgegap 托管集群为管理目的提供 Kubernetes API。

K8s Lens

拥有超过 100 万用户, K8s Lens 是世界上最受欢迎的 Kubernetes IDE。连接到集群、进行浏览、获取洞察、学习并在需要时采取操作。Lens 实时提供来自您的工作负载和资源的所有信息,始终处于正确的上下文中。

可以通过 Lens 或其他 Kubernetes IDE 使用 Edgegap 集群的 Kubernetes API。

Helm 包管理器

Helm 是查找、共享和使用为 Kubernetes 构建的软件的最佳方式。Helm 帮助您管理 Kubernetes 应用——Helm Chart 帮助您定义、安装并升级即使是最复杂的 Kubernetes 应用。Chart 易于创建、版本控制、共享和发布——因此开始使用 Helm,停止复制粘贴。

安装 Helm CLI 为开发者提供了一个简单的界面来管理其集群包。

🚀 快速开始

☑️ 已注册您的免费 Edgegap 帐户 并升级到按需付费等级以解锁集群功能。

☑️ 导航至 托管集群 页面。

☑️ 点击 创建集群 首先,然后输入:

  • 标签 为您的集群设置标签以便稍后轻松查找,

  • 集群规模 - 参见 托管集群.

☑️ 审查预计费用并点击 创建集群 以启动您的新集群。

☑️ 一旦集群准备就绪, 点击 Kubeconfig 下载您的配置和凭据 以连接并管理您的新集群。

☑️ 将您的 kubeconfig 文件移动到 以便 kubectl 能找到它。

☑️ Lens 用户: 导入您的 kubeconfig 文件.

☑️ 使用以下命令测试您的集群连接 kubectl get nodes :

🙌 恭喜,您已完成托管集群设置!您现在可以安装您的服务。

📦 Heroic Labs 的 Nakama

按照以下步骤在托管集群上托管您自己的 Nakama 游戏后端

☑️ 安装一个 证书管理器 以支持来自游戏客户端的 HTTPS 请求:

☑️ Lens:在 Services / Network 部分验证安装, cert-manager 应处于运行状态。

☑️ 编写一个 集群颁发者 文件,记得替换 <YOUR_EMAIL> 如下:

☑️ 创建一个 集群颁发者 在命令行中:

☑️ Lens:在自定义资源部分验证安装 / cert-manager.io - 已创建集群颁发者。

☑️ 安装 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。您的 用于 DNS 记录的外部 IP 可以在 Lens 的 Services / ingress-nginx-controller .

下找到。 ☑️ 通过执行查找来验证您的 DNS 配置是否正确.

使用 DNSchecker ☑️ 创建名为 values.yaml

在上述文件中。

--version 1.0.0 <RELEASE_NAME> oci://registry-1.docker.io/edgegap/heroiclabs-nakama ☑️ 在 Lens 中:在 Workloads / Deployments 部分验证安装, nakama

应处于运行状态。 使用来自 ☑️ 创建名为 文件的 URL 和凭据连接到您的 Nakama 控制台。

🙌 恭喜,您已完成自托管 Nakama 游戏后端的设置!

服务更新

按照以下步骤更新托管在托管集群中的服务:

☑️ 更新您的 value.yaml 文件,使用新的文件。

☑️ 使用此命令更新您的 helm chart:

☑️ 通过关闭已更新的 pods 来重新加载您的更改,在我们自动重启 pods 后将使用新的 helm chart。

🙌 恭喜,您已完成 Nakama 集群更新!

👷 高级匹配器

按照以下步骤在托管集群上托管您的 OpenMatch

☑️ 安装一个 证书管理器 以支持来自游戏客户端的 HTTPS 请求:

☑️ Lens:在 Services / Network 部分验证安装, cert-manager 应处于运行状态。

☑️ 编写一个 集群颁发者 文件,记得替换 <YOUR_EMAIL> 如下:

☑️ 创建一个 集群颁发者 在命令行中:

☑️ Lens:在自定义资源部分验证安装 / cert-manager.io - 已创建集群颁发者。

☑️ 安装 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。您的 用于 DNS 记录的外部 IP 可以在 Lens 的 Services / ingress-nginx-controller .

下找到。 ☑️ 通过执行查找来验证您的 DNS 配置是否正确.

使用 DNSchecker ☑️ 创建名为 values.yaml

☑️ 将 Edgegap 仓库 添加到您的仓库列表:

☑️ 部署高级匹配器的 helm chart:

🙌 恭喜,您已完成高级匹配器设置!

服务更新

按照以下步骤更新托管在托管集群中的服务:

☑️ 更新您的 value.yaml 文件,使用新的文件。

☑️ 使用此命令更新您的 helm chart:

☑️ 通过关闭已更新的 pods(director、mmf、frontend)来重新加载您的更改,在我们自动重启 pods 后将使用新的 helm chart。

🙌 恭喜,您已完成高级匹配器更新!

持续部署

通过将此 shell 脚本添加到部署流水线来自动更新您的服务:

Letsencrypt 证书验证(C#)

对于某些客户端,推荐的 Letsencrypt 证书验证可能会以错误失败:

作为最后手段,游戏客户端可以实现自定义证书处理函数:

用法:

我们建议将 EXPECTED_CERT 的值存储在您自己的文件存储中,并在运行时检索,这样您可以在不发布游戏客户端更新的情况下进行更新。

🟢 运营与可观测性

集群层级变更

为成功做准备并在上线后进行优化,这样您就不会在发布日阻碍玩家。

支持与未来更新

您的成功是我们的首要任务。 如果您想发送自定义请求、请求缺失的关键功能,或表达任何想法, 请在我们的社区 Discord 中与我们联系.

最后更新于

这有帮助吗?