《泛娱乐行业技术服务白皮书》——四、泛娱乐业务保障与调优最佳实践——4.1游戏运维SRE实践——4.1.3游戏部署的自动化实践

简介: 《泛娱乐行业技术服务白皮书》——四、泛娱乐业务保障与调优最佳实践——4.1游戏运维SRE实践——4.1.3游戏部署的自动化实践

4.1.3 游戏部署的自动化实践

 

传统IT模式的“半人肉”部署实践

游戏运维的早期开服以人肉为主,分区分服务阶拆解的最原始动作包括:游戏服 务端打包->解压游戏包->变更配置修改区服务->初始化数据库(清档)->qa测试->对 外开放入口。如果今天的服务器只有一台两台没有问题,随着服务器数量增多,实践多,实践中经常遇游戏火爆的突发开服事件,而且在2011年后游戏联合运营模式出 现,人肉模式会涌现了很多问题,而且随着开服时间拉长,到一定生命周期后也面临 着繁复的合服工作,游戏运维对开服、合服做了脚本化工作,那也是自动化的早期雏 ,可勉强应对数千台规模的服务部署。

早期的版本部署/变更脚本示例:

image.png

自动化运维体系构成及结构关系图

 

shell半自动化工作,基本可以应对百至千服的常规工作,随着虚拟化普 及,游戏上云后ECS镜像功能。游戏运维会建立每个游戏服角色镜像:这个操作会让 你快速启动另一组服务器,例如你搭建完一组,共三台,游戏服1,游戏服2,游戏服 3,调试完毕后,为每个服做一个镜像,这样你就可以快速启动1组新服,很快就可以 上百组服务器的配置,在需要开新服时,你基本5分钟就可以开一组,所以为每 个不同角色的游戏服留镜像是很有必要的,同时也可以使用跨区复制功能,快速在另 一个region新服,快速完成多region部署,这些工作通过api是可以做到完全自 动化的,基本实现了数千台规模的服务部署

 

基于Ansible的自动化部署实践


最早我们用SSH写很多脚本,要用SSH连过去,也是在某一台机器上执行,不用 目标机上登陆。这种做法在相当一段时间内是我们实际使用的手段,  它实际上比 Puppet有效。但是它有一些问题:管理成本高、脚本会越来越多。部署的过程有很 基础部件需要反复部署,几乎是没法管理。后来我们用了RunDeck,它有界 面、有一定的管理能力。我们还用过Fabric,即批量执行命令,能做到类似部署的事 情。但是,目标机规模大了之后仅有管理的能力是不够的。后来我们又调研过 Salt, 不认为有太大的差别。选择Ansible主要因为丰富的相关支持,包括很多现有的组 和模块和开源的Ansible署和脚本。我们的团队不喜欢纠结。我们发现Ansible没有 太本质区别,就开始用起来。它可以配置系统,部署软件以及协调更高级的IT 务,  例如持续部署,  滚动更新。Ansible适用于管理企业IT基础设施,  从具有少数主 机的小规模到数千个实例的企业环境。具备了简单、强大、无代理的三大优势。简单 说底层就是pssh的批量逻辑,上层封装playbook执行,语法非常接近shell,从历 史的部署模式进行改造非常方便,基本实现了数万台规模的服务部署。


image.png

相关文章
|
11天前
|
机器学习/深度学习 运维 自然语言处理
大模型技术在运维中的知识管理革命
大模型技术在运维中的知识管理革命
137 81
|
11天前
|
监控 运维
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
本文介绍如何设置和查看域名或证书监控。步骤1:根据证书状态选择新增域名或证书监控,线上部署推荐域名监控,未部署选择证书监控。步骤2:查询监控记录详情。步骤3:在详情页查看每日定时检测结果或手动测试。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
|
11天前
|
Linux 持续交付 调度
HTTPS 证书自动化运维:https证书管理系统-自动化部署
本指南介绍如何部署Linux服务器节点。首先复制生成的Linux脚本命令,然后将其粘贴到目标服务器上运行。接着刷新页面查看节点记录,并点击“配置证书”选择证书以自动部署。最后,节点部署完成,后续将自动调度,无需人工干预。
HTTPS 证书自动化运维:https证书管理系统-自动化部署
|
11天前
|
运维
HTTPS 证书自动化运维:https证书管理系统之自动化签发
通过访问【https://www.lingyanspace.com】注册账户,进入证书服务菜单并新增证书。填写域名(单域名、多域名或泛域名),创建订单后添加云解析DNS记录进行质检。确认完成后可下载证书,并支持后续查看、更新和定时更新功能。证书过期前15天自动更新,需配置邮箱接收通知。
HTTPS 证书自动化运维:https证书管理系统之自动化签发
|
14天前
|
机器学习/深度学习 人工智能 运维
基于AI的自动化事件响应:智慧运维新时代
基于AI的自动化事件响应:智慧运维新时代
75 11
|
1月前
|
人工智能 运维 监控
AI辅助的运维流程自动化:实现智能化管理的新篇章
AI辅助的运维流程自动化:实现智能化管理的新篇章
422 22
|
17天前
|
人工智能 运维 Linux
AI驱动的操作系统服务体验:大模型时代的运维革新
AI驱动的操作系统服务体验:大模型时代的运维革新
28 5
|
24天前
|
Kubernetes Java 持续交付
小团队 CI/CD 实践:无需运维,Java Web应用的自动化部署
本文介绍如何使用GitHub Actions和阿里云Kubernetes(ACK)实现Java Web应用的自动化部署。通过CI/CD流程,开发人员无需手动处理复杂的运维任务,从而提高效率并减少错误。文中详细讲解了Docker与Kubernetes的概念,并演示了从创建Kubernetes集群、配置容器镜像服务到设置GitHub仓库Secrets及编写GitHub Actions工作流的具体步骤。最终实现了代码提交后自动构建、推送镜像并部署到Kubernetes集群的功能。整个过程不仅简化了部署流程,还确保了应用在不同环境中的稳定运行。
54 9
|
2月前
|
运维 监控 Cloud Native
云原生之运维监控实践:使用 taosKeeper 与 TDinsight 实现对 时序数据库TDengine 服务的监测告警
在数字化转型的过程中,监控与告警功能的优化对保障系统的稳定运行至关重要。本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品之一,详细介绍了如何利用 TDengine、taosKeeper 和 TDinsight 实现对 TDengine 服务的状态监控与告警功能。作者通过容器化安装 TDengine 和 Grafana,演示了如何配置 Grafana 数据源、导入 TDinsight 仪表板、以及如何设置告警规则和通知策略。欢迎大家阅读。
57 0
|
3月前
|
边缘计算 运维 Cloud Native
云原生技术的崛起:重新定义软件开发与运维
云原生技术的崛起:重新定义软件开发与运维

热门文章

最新文章