探索使用Kubernetes扩展专用游戏服务器:第2部分-管理CPU和内存

简介: 探索使用Kubernetes扩展专用游戏服务器:第2部分-管理CPU和内存

在本系列的第 1 部分中,我们讨论了如何使用专用游戏服务器,将其与 Docker 打包,然后在Kubernetes 上托管和管理它,这是一个很好的开始。然而,由于我们的 Kubernetes 集群通常是固定大小的,我们可能会耗尽所有可用容量来运行我们需要的所有游戏服务器容器,以匹配所有想玩我们的游戏的玩家——这将是一件非常糟糕的事情。


Kubernetes 集群有很多伸缩选项,我们将在以后的文章中深入介绍一个定制的 Kubernetes 节点伸缩器。首先,我们必须解决一个非常重要的事情:我的游戏服务器实际上占用了多少 CPU 和内存?


没有这些知识,就无法将游戏服务器的 CPU 和/或内存利用率与 Kubernetes 集群中的可用资源进行匹配,因此无法知道在给定大小的集群中可以运行多少个游戏服务器。当我们的游戏人数增加时,我们也将无法计算要添加的节点数(因为它自然会是😉),并且我们要确保集群足够大以容纳所有节点。如果流量开始下降,我们还希望缩小集群规模,以便通过删除不使用的集群节点来节省成本。


Kubernetes Dashboard


很棒的是,CPU 和内存使用率的可视化是 Kubernetes 开箱即用提供的另一个功能。 Kubernetes 捆绑有一个仪表板,该仪表板使我们可以很好地直观了解集群内部发生的事情,例如列出PodServices,为我们提供 CPU,内存使用情况等图表。


微信图片_20220611154433.png


为了安全地连接到 Kubernetes 仪表板,Kubernetes 的命令行工具具有以下命令:


kubectl proxy


运行时将返回以下内容:


Starting to serve on 127.0.0.1:8001


这将创建到 Kubernetes 主服务器的代理连接(假设您有权访问该集群),该主机托管 Kubernetes 集群的 API 和上面显示的仪表板。


如果现在将浏览器指向 http://localhost:8001/ui ,我们将看到仪表板。


确定 CPU 和内存使用率


您可能已经注意到,仪表板为我们提供了整个集群的 CPU 和内存的汇总统计信息,但它也可以在 Pod 级别为我们提供相同的信息!因此,我们需要确定游戏服务器正在使用多少 CPU 和内存的所有工作,就是部署一个包含游戏服务器的 Pod(我们在上一篇文章中进行了设置),并通过在其上运行多个游戏会话来进行一些负载测试 ,并查看提供的图表。


我是在 Paddle Soccer 游戏中这样做的,您可以看到以下结果之一:


微信图片_20220611154453.png


在上面的测试中,这个简单的专用游戏服务器的使用峰值是 0.08CPU 核和略高于 34M 内存。这是我们在专用游戏服务器上进行负载测试时看到的最大使用量,所以我们会在这里画一条线,说明这是我们的服务器使用的上限,添加一些缓冲区,并据此制定计划。


限制CPU和内存的使用


诸如 Docker 之类的软件容器的非常有用的功能之一是,它能够对正在运行的容器的 CPU 和内存使用情况以及其中的进程施加约束。Kubernetes 通过其 Pod 配置向我们展示了这一点,这意味着我们可以明确确保 CPU 和内存使用率不会超过某个阈值,并且不会对在同一节点上运行的其他游戏服务器产生不利影响。考虑到游戏服务器对 CPU 波动的敏感程度,这是非常有用的!


因此,如果我们想限制包含游戏服务器的 PodCPU 使用率,可以通过更新以前的 Pod 定义来做到这一点:


apiVersion: v1
kind: Pod
metadata:
  generateName: "game-"
spec:
  hostNetwork: true
  restartPolicy: Never
  containers:
    - name: soccer-server
      image: gcr.io/soccer/soccer-server:0.1
      env:
        - name: SESSION_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
  resources: # This section limits the cpu usage
    limits:
      cpu: "0.1"


值得注意的是,在示例代码中,我使用 Kubernetes API 提供了与上述配置相同的配置,但是 yaml 版本更易于理解,这是在本系列文章中一直使用的格式。


在上面的示例中,我们将限制设置为 “0.1”,以确保我们的游戏服务器只能访问其所运行的节点上的 CPU 的十分之一。为此,我们在 yaml 中为游戏服务器容器定义添加了带有相应限制的资源部分和cpu 部分。


我选择将最大 CPU 使用率设置为 0.1,以为我们在上面看到的 0.08 内核游戏服务器使用率提供一些填充,同时仍然让我在每个 Kubernetes 集群节点上每个核容纳 10 个游戏服务器,这应该可以很好地满足我们的需求。


我们还可以对内存使用量进行类似的限制,但为简单起见,我们将仅限制 CPU 使用量,最终也仅将 CPU 用于我们的扩展指标。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
3月前
|
机器学习/深度学习 数据库 数据安全/隐私保护
服务器核心组件:CPU 与 GPU 的核心区别、应用场景、协同工作
CPU与GPU在服务器中各司其职:CPU擅长处理复杂逻辑,如订单判断、网页请求;GPU专注批量并行计算,如图像处理、深度学习。二者协同工作,能大幅提升服务器效率,满足多样化计算需求。
1487 39
|
2月前
|
弹性计算 ice
阿里云4核8G云服务器配置价格:热门ECS实例及CPU处理器型号说明
阿里云2025年4核8G服务器配置价格汇总,涵盖经济型e实例、计算型c9i等热门ECS实例,CPU含Intel Xeon及AMD EPYC系列,月费159元起,年付低至1578元,按小时计费0.45元起,实际购买享折扣优惠。
502 1
|
3月前
|
存储 弹性计算 网络协议
阿里云服务器ECS通用算力型u2a实例,CPU采用AMD EPYC处理器,睿频最高3.7 GHz
阿里云ECS通用算力型u2a实例搭载AMD EPYC处理器,睿频高达3.7GHz,基于CIPU架构,网络与存储突发带宽最高25Gbps,I/O性能强、延迟低。支持多种云盘及IPv4/IPv6,适用于中小型数据库、APP服务等场景,性价比高,官网价降低9%-22%,是中小企业上云优选。
550 0
|
4月前
|
存储 弹性计算 安全
阿里云轻量服务器通用型、CPU优化型、多公网IP型、国际型、容量型不同实例区别与选择参考
阿里云轻量应用服务器实例类型分为通用型、CPU优化型、多公网IP型、国际型、容量型,不同规格族的适用场景和特点不同,收费标准也不一样。本文为大家介绍轻量应用服务器通用型、多公网IP型、容量型有何区别?以及选择参考。
|
3月前
|
缓存 人工智能 算法
不同业务怎么选服务器?CPU / 内存 / 带宽配置表
本文详解了服务器三大核心配置——CPU、内存、带宽,帮助读者快速理解服务器性能原理。结合不同业务场景,如个人博客、电商、数据库、直播等,提供配置选择建议,并强调合理搭配的重要性,避免资源浪费或瓶颈限制。内容实用,适合初学者和业务选型参考。
634 0
|
4月前
|
存储 弹性计算 缓存
阿里云ECS通用算力型u2i服务器性能测评、CPU型号及配置参数解析
阿里云ECS通用算力型u2i实例,搭载Intel® Xeon® Platinum处理器,支持第五、六代至强平台,适用于Web、Java、中小型数据库等场景。提供1:1至1:8多种vCPU与内存配比,最大32vCPU,标配ESSD Entry云盘,网络性能随规格提升增强,支持IPv4/IPv6,适用于企业级应用、数据分析、缓存集群等业务,兼顾性能与成本效益。
453 157
|
2月前
|
弹性计算 定位技术 数据中心
阿里云服务器配置选择方法:付费类型、地域及CPU内存配置全解析
阿里云服务器怎么选?2025最新指南:就近选择地域,降低延迟;长期使用选包年包月,短期灵活选按量付费;企业选2核4G5M仅199元/年,个人选2核2G3M低至99元/年,高性价比爆款推荐,轻松上云。
181 11
|
2月前
|
弹性计算
阿里云ECS云服务器8核16G配置收费价格,多种ECS实例CPU及费用清单
阿里云8核16G云服务器价格因实例类型而异。计算型c9i约743元/月,一年6450元(7折);通用算力型u1仅673元/月,一年4225元(5.1折)。实际价格享时长折扣,详情见ECS官网。
|
3月前
|
存储 缓存 数据挖掘
阿里云轻量应用服务器“CPU优化型”配置介绍、费用价格说明
阿里云轻量应用服务器推出CPU优化型,提供更强计算性能,2核4GB起,最高16核64GB,全系支持200Mbps带宽。适用于企业级应用、数据库、游戏服务器等高算力场景,保障稳定高效运行。
460 1

热门文章

最新文章

推荐镜像

更多