Agones 在 Oracle Cloud 上部署:OKE 集群创建与 UDP 流量配置实战指南
游戏开发云原生【免费下载链接】agonesDedicated Game Server Hosting and Scaling for Multiplayer Games on Kubernetes项目地址https://gitcode.com/gh_mirrors/ag/agones点击查看免费下载导读本文基于 Agones 官方安装文档site/content/en/docs/Installation/Creating Cluster/oke.md系统讲解如何在 Oracle Cloud InfrastructureOCI上通过 Kubernetes EngineOKE创建可用于 Agones 的 Kubernetes 集群。你将掌握 OKE 集群的两种创建工作流Quick Create 与 Custom Create、创建前的权限要求以及让 GameServer 的 UDP 流量正常到达工作节点的安全组NSG规则配置同时结合 Agones 源码与仓库示例理解 7000–8000 端口区间从何而来、Dynamic 端口策略如何运作并了解一条完整的 Terraform 化创建路径。一、为什么 Agones 需要专门的 OKE 集群准备Agones 是运行在 Kubernetes 之上的专用游戏服务器托管与扩缩容方案。游戏服务器GameServer通常以 UDP 协议对外提供实时服务而云厂商的托管 Kubernetes 服务默认的网络与安全策略并不会自动放行这类入站流量。因此在任何云平台上安装 Agones 之前都必须先确认已创建一个满足版本要求的 Kubernetes 集群此处为 OKE集群工作节点的安全组已允许 UDP 入站流量端口范围覆盖 Agones 为 GameServer 分配的动态端口区间默认 7000–8000。这一前置工作直接决定了后续 GameServer 能否被玩家访问是整个 Agones 部署链路中先于安装的关键一步。完成本指南后请继续阅读 Install AgonesHelm 方式见 helm.mdYAML 方式见 yaml.md。二、创建集群前的权限要求在 OCI 中创建 OKE 集群并非任何租户成员都能执行。官方文档明确要求要创建集群你必须是租户tenancy中 Administrators 组的成员或者属于某个被授予CLUSTER_MANAGE权限的策略所指向的组。也就是说集群创建权限来自 IAM 策略。如果创建操作被拒绝应首先检查所在组的策略是否包含CLUSTER_MANAGE权限而不是集群配置本身。相关策略配置细节可参考 Oracle 官方的Policy Configuration for Cluster Creation and Deployment文档。三、通过 OCI Web 控制台创建 OKE 集群完整步骤官方文档给出了一套通过 OCI Web 控制台创建 OKE 集群的推荐操作路径共 6 步打开导航菜单点击Developer Services在Containers Artifacts下点击Kubernetes Clusters (OKE)。选择你要在其中创建集群的 compartment区间。在Clusters页面点击Create cluster。选择以下两种工作流之一Quick Create快速创建仅指定集群创建所必需的最小属性集。选择此选项后Kubernetes Engine 会为大量集群属性使用默认值并按需自动创建新的网络资源VCN、子网、NSG 等。适合快速验证或对网络没有特殊要求的场景。Custom Create自定义创建可以指定集群的全部属性、复用已有网络资源并启用高级选项。适合生产环境、已有 VCN 规划或需要精细控制网络拓扑的场景。点击Submit。按所选工作流的页面提示完成配置Quick Create 工作流参考Using the Console to create a Cluster with Default Settings in the Quick Create workflowCustom Create 工作流参考Using the Console to create a Cluster with Explicitly Defined Settings in the Custom Create workflow。两个工作流的选择本质上是默认值 自动创建网络资源与全量自定义 复用现有资源的取舍。对于 Agones 部署一般建议在 Quick Create 基础上再按下一节的方法手工放行 UDP 流量若使用 Custom Create 并复用已有 NSG则需确保把 UDP 规则加入对应安全组。四、放行 UDP 流量7000–8000 端口区间详解4.1 为什么必须放行 7000–8000这是 Agones 文档反复强调的硬性要求For Agones to work correctly, we need to allow UDP traffic to pass through to our OKE cluster worker nodes.端口区间并非随意指定它对应 Agones Helm 安装包的默认动态端口分配范围。在 install/helm/agones/values.yaml 中可以看到gameservers: namespaces: - default minPort: 7000 maxPort: 8000 additionalPortRanges: {} # game: [9000, 10000]也就是说当 GameServer 使用Dynamic端口策略时Agones 的端口分配器pkg/portallocator/portallocator.go 中定义的MinPort/MaxPort以及newRangeAllocator会从 7000 到 8000 的范围内为每个 GameServer 挑选一个空闲的宿主机端口HostPort。因此云平台安全组必须放行这一整段区间否则玩家无法访问游戏服务器。从 API 定义看Agones 支持四种端口策略见 pkg/apis/agones/v1/gameserver.go端口策略含义是否从 7000–8000 范围取端口Static用户显式指定 hostPort否需自行确保该端口已放行Dynamic系统从配置范围内自动选择空闲端口是默认 7000–8000Passthrough容器端口直接透传为宿主机端口是端口落在容器端口值上None不分配宿主机端口否典型的 GameServer 声明如 examples/simple-game-server/gameserver.yaml使用portPolicy: Dynamic与containerPort: 7654此时 Agones 控制器会从 7000–8000 范围分配一个 hostPort 并通过状态字段回写示例输出可见 create-gameserver.md 中的Host Port: 7190、Port Policy: Dynamic、Protocol: UDP。因此安全组只需放行 7000–8000 的 UDP 即可覆盖绝大多数动态分配结果。4.2 控制台操作步骤在 OCI 控制台放行 UDP 的推荐操作路径如下登录 OCI Console。进入Virtual Cloud Network Details仪表盘选择Network Security GroupsNSG。找到工作节点池worker nodepool对应的安全组其名称形如workers-OKE 自动创建的工作节点 NSG 通常以workers-前缀命名。选择Add Rules。Edit Rules添加一条新的Custom UDP Rule端口范围7000-8000SourceCIDR 范围按需填写。0.0.0.0/0表示允许所有来源适合公开对外的游戏服如果仅限内网或特定网段访问可填写对应的 CIDR 前缀。提示如果使用的是 Quick Create 工作流OKE 会自动创建工作节点 NSGCustom Create 中若复用了已有 NSG请把上述规则加入实际承载工作节点的那个安全组切勿加错组导致端口未生效。4.3 用 Terraform 以代码化方式完成集群 NSG 规则仓库在 examples/terraform-submodules/oke/module.tf 中提供了一套完整的 OKE 集群创建示例把建集群 放行 UDP一并固化成了基础设施即代码IaCmodule oke_cluster { source oracle-terraform-modules/oke/oci version 5.1.8 # ... region、compartment、节点池 shape/ocpus/memory 等参数 } resource oci_core_network_security_group_security_rule worker_ingress_rule { network_security_group_id module.oke_cluster.worker_nsg_id direction INGRESS protocol 17 # 17 UDP source 0.0.0.0/0 source_type CIDR_BLOCK udp_options { destination_port_range { max 8000 min 7000 } } }其中protocol 17是 OCI 安全组规则中 UDP 的协议编号destination_port_range的min 7000、max 8000与 Agones 默认端口区间完全对应示例中还额外创建了一条EGRESS方向出站、协议 all规则以保证工作节点出站流量正常。运行terraform apply可加-var agones_version1.17.0指定要安装的 Agones 版本后集群与安全组规则将一次性就绪随后示例会通过oke-helm3模块见 install/terraform/modules/oke-helm3直接安装 Agones。这条 Terraform 路径与控制台手动操作殊途同归控制台适合首次体验和快速验证Terraform 适合生产环境的可重复、可审计交付。五、创建后自检清单集群创建并放行 UDP 后建议按以下清单自检再进入 Agones 安装环节kubectl cluster-info能正常访问 OKE 集群kubectl get nodes能看到预期数量的工作节点确认工作节点 NSG 中存在 7000–8000 的 UDP 入站规则且 Source CIDR 覆盖玩家的实际来源网段对照 Install Agones 文档确认集群版本与 Agones 的兼容要求安装完成后用kubectl get gameservers观察 GameServer 状态字段中分配的端口是否落在 7000–8000 区间内例如PORT 7190再用nc -u 节点公网IP 端口或游戏客户端实测 UDP 连通性。六、下一步集群与网络就绪后请继续使用 Helm 安装 Agoneshelm.md或使用 YAML 清单安装yaml.md快速创建第一个 GameServer 验证链路create-gameserver.md。参考与延伸阅读本文核心步骤来源oke.mdOCI Kubernetes Engine 官方安装指南端口范围默认值install/helm/agones/values.yaml端口分配器实现pkg/portallocator/portallocator.go端口策略 API 定义pkg/apis/agones/v1/gameserver.goTerraform 创建 OKE 与 NSG 规则示例examples/terraform-submodules/oke/module.tf其他云平台集群创建指南gke.md、eks.md、aks.md、minikube.md。赞分享游戏开发云原生【免费下载链接】agonesDedicated Game Server Hosting and Scaling for Multiplayer Games on Kubernetes项目地址https://gitcode.com/gh_mirrors/ag/agones点击查看免费下载相关推荐Agones 在 AWS EKS 上的部署指南集群创建、UDP 端口放行与自定义 CNI 兼容配置Agones 在 AWS EKS 上的部署指南集群创建、UDP 端口放行与自定义 CNI 兼容配置 本文以 Agones 官方安装文档《Amazon Elas游戏开发云原生Agones on AKS创建 Azure Kubernetes Service 游戏服务器集群并开放 UDP 流量Agones on AKS创建 Azure Kubernetes Service 游戏服务器集群并开放 UDP 流量 本篇指南面向需要在 Azure 上部署游戏开发云原生MMFewShotOpenMMLab少样本学习工具箱完整入门指南MMFewShotOpenMMLab少样本学习工具箱完整入门指南 想要在数据稀缺的场景下实现精准的计算机视觉任务吗MMFewShot是OpenMMLab生态上一篇如何永久保存微信聊天记录3步打造个人专属AI记忆库下一篇5分钟创建你的第一个AI模型Teachable Machine零代码机器学习终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

python语言XML文件读取

python语言XML文件读取

前言本部分不对 XML 的理论结构做深入分析,仅作为一个快速参考说明,用于记录在实际数据处理中常用的 XML 结构理解方式,以及 Python 中对 XML 节点的基本调用方法,便于后续快速查阅。XML文件结构简介XML文件的基本单位是由标签包起…

2026/10/10 2:12:52 阅读更多 →
Leetcode hot100 和为K的子数组【中等】

Leetcode hot100 和为K的子数组【中等】

法(一)暴力搜索既然是子数组,那就是连续的,直觉是用滑动窗口。很容易写出来一个这样的解法:因为我们先入为主了,以为K和数组里的数都是正数,可能后面还有0啊,还有[2,-2,2,-2]&#x…

2026/10/10 2:12:52 阅读更多 →
基于PCA9422与TM4C129的嵌入式电源管理实战解析

基于PCA9422与TM4C129的嵌入式电源管理实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 2:12:52 阅读更多 →

最新新闻

【会议征稿】第三届数字经济与计算机科学国际学术会议(DECS 2026)

【会议征稿】第三届数字经济与计算机科学国际学术会议(DECS 2026)

第三届数字经济与计算机科学国际学术会议 (DECS 2026) 2026 3rdInternational Conference on Digital Economy and Computer Science 会议官网: 第三届数字经济与计算机科学国际学术会议(DECS 2026)https://ais.cn/…

2026/10/10 2:57:07 阅读更多 →
论文阅读-EATA

论文阅读-EATA

EATA:Efficient Test-Time Model Adaptation without Forgetting论文:Efficient Test-Time Model Adaptation without Forgetting 会议:ICML 2022 核心思想:不是所有测试样本都值得用于模型更新。EATA 在 TENT 的熵最小化基础上&a…

2026/10/10 2:57:07 阅读更多 →
安徽皖上好影视制作公司 擅长人物传记片、活动花絮视频的创意制作

安徽皖上好影视制作公司 擅长人物传记片、活动花絮视频的创意制作

影视制作行业发展态势与皖上好的业务定位随着数字化传播时代的全面到来,视频内容已经成为政企单位与商业品牌对外展示形象、传递价值的核心载体。无论是政务宣传、校园文化传播,还是企业品牌推广、活动记录留存,人物传记片与活动花絮视频的需…

2026/10/10 2:57:07 阅读更多 →
工业智能体:小白也能学会的大模型应用指南(收藏必备)

工业智能体:小白也能学会的大模型应用指南(收藏必备)

本文介绍了工业智能体的概念、发展现状、产业生态布局以及典型应用案例。工业智能体以大模型为核心,深度融合工业知识与AI技术,实现环境感知、逻辑推理、任务规划等功能。文章还分析了工业智能体推动“人工智能制造”落地的机理,包括知识内化…

2026/10/10 2:57:07 阅读更多 →
Solidity 基础语法:用五个小案例,把语法学成肌肉记忆

Solidity 基础语法:用五个小案例,把语法学成肌肉记忆

前两篇我们聊了学习路径和三个实战合约。但有个问题一直悬着:很多人的语法是"拼凑"出来的,不是"理解"出来的。他们能写 mapping(address > uint256),但说不清为什么不用数组;能用 modifier,但不…

2026/10/10 2:57:07 阅读更多 →
同城跑腿系统:骑手端同步和下单收款怎么拆

同城跑腿系统:骑手端同步和下单收款怎么拆

同城跑腿系统联调时,常见做法是支付一通就对外宣称上线。更稳的做法是把「下单与订单状态」和「收款回调」拆阶段验收:前者不依赖真实通道,后者用沙箱 profile,避免支付未过却改订单写入口。结论 订单状态推进应由领域事件驱动&am…

2026/10/10 2:56:07 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →