一键云部署:ROS的Terraform托管服务助你轻松上线2048经典游戏

ros,terraform · 浏览次数 : 0

小编点评

## 2048游戏自动化部署流程 **步骤一:登录阿里云资源编排控制台** * 登入阿里云控制台:portal.aliyun.com * 点击“资源栈”(Regional Manager) * 选择你想部署游戏服务的地域(例如:华东1(杭州)) **步骤二:创建资源栈** * 在资源栈页面中点击“创建资源栈”。 * 选择“Terraform”作为模板导入方式。 * 输入模板内容,此处输入以下代码: ```terraform terraform { required_providers { alicloud = { source = "hashicorp/alicloud" version = ">= 4.7.0" } } } provider "alicloud" {} variable "zone_id" { type = string description = "可用区ID" } variable "instance_type" { type = string description = "实例类型" } resource "alicloud_vpc" "vpc" { vpc_name = "game-vpc" cidr_block = "192.168.0.0/16" } resource "alicloud_vswitch" "vswitch" { vpc_id = alicloud_vpc.vpc.id zone_id = var.zone_id cidr_block = "192.168.0.0/24" } resource "alicloud_security_group" "group" { vpc_id = alicloud_vpc.vpc.id } resource "alicloud_security_group_rule" "rule" { type = "ingress" ip_protocol = "all" nic_type = "intranet" policy = "accept" port_range = "80/80" priority = 1 security_group_id = alicloud_security_group.group.id cidr_ip = "0.0.0.0/0" } resource "alicloud_instance" "ecs" { availability_zone = var.zone_id security_groups = alicloud_security_group.group.*.id instance_type = var.instance_type system_disk_category = "cloud_essd" image_id = "centos_7_9_x64_20G_alibase_20220824.vhd" instance_name = "game-ecs" vswitch_id = alicloud_vswitch.vswitch.id internet_max_bandwidth_out = 2 user_data = "<<EOF#!/bin/bashyum install -y httpd wgetsystemctl start httpdwget 'https://computenest-artifacts-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/1853370294850618/cn-beijing/1697533575326/2048.tgz' -O 2048.tgztar xvf 2048.tgzmv 2048/* /var/www/html && rm -rf 2048EOF" } output "GameUrl" { value = format("http://%s:80", alicloud_instance.ecs.public_ip) } ``` **步骤三:预览模版资源** * 在资源栈页面中点击“预览模版资源”。 * 此页面将显示您将创建的资源信息,例如实例规格、可用区等。 **步骤四:创建2048游戏** * 点击“创建”。 * 此操作将自动执行 Terraform 模块,创建 2048 游戏的服务和相关资源。 **步骤五:查看2048游戏的地址** * 点击“输出”。 * 此页面将显示 2048游戏的地址,您可以使用该地址在浏览器中打开游戏页面。

正文

在现代云计算环境中,自动化部署已经成为一项重要的任务。Terraform,作为HashiCorp公司的一款开源工具,以其强大的基础设施即代码(IaC)能力,使得我们能够轻松管理和部署各种云资源。

阿里云资源编排服务(Resource Orchestration Service,ROS)是一种简单易用的云计算资源自动化部署服务,提供了Terraform托管服务。因此您可以直接在ROS中部署Terraform模版。在这篇文章中,我们将详细介绍如何使用ROS的Terraform托管服务一键部署经典的2048小游戏。

首先,让我们了解一下什么是2048游戏。2048是一款基于数字的益智游戏,玩家需要在4x4的格子中滑动数字方块,每移动一次,所有方块都会向滑动的方向靠拢,同时空白位置会随机出现一个2或4,目标是合并出2048这个数字。现在,我们要将这个游戏部署到云端,让全世界的玩家都能在线体验。

部署流程

  1. 登录阿里云资源编排控制台
  2. 在左侧导航栏,单击资源栈
  3. 在顶部菜单栏的地域下拉列表,选择资源栈的所在地域,例如:华东1(杭州)
  4. 在资源栈列表页面,单击创建资源栈,然后在下拉列表中选择使用Terraform
  5. 选择模板录入方式为输入模板,并选择模板内容为Terraform
  6. 编写Terraform模板,命名为main.tf,模版内容如下,可以直接复制进去,点击下一步
variable "zone_id" {
  type        = string
  description = <<EOT
  {
    "AssociationProperty": "ZoneId",
    "Label": {
      "zh-cn": "可用区ID",
      "en": "Zone ID"
    }
  }
  EOT
}

variable "instance_type" {
  type        = string
  description = <<EOT
  {
    "Label": {
        "zh-cn": "实例类型",
        "en": "Instance Type"
    },
    "AssociationProperty": "ALIYUN::ECS::Instance::InstanceType"
  }
  EOT
  default     = "ecs.e-c1m2.large"
}

resource "alicloud_vpc" "vpc" {
  vpc_name   = "game-vpc"
  cidr_block = "192.168.0.0/16"
}

resource "alicloud_vswitch" "vswitch" {
  vpc_id     = alicloud_vpc.vpc.id
  zone_id    = var.zone_id
  cidr_block = "192.168.0.0/24"
}


resource "alicloud_security_group" "group" {
  vpc_id = alicloud_vpc.vpc.id
}

resource "alicloud_security_group_rule" "rule" {
  type              = "ingress"
  ip_protocol       = "all"
  nic_type          = "intranet"
  policy            = "accept"
  port_range        = "80/80"
  priority          = 1
  security_group_id = alicloud_security_group.group.id
  cidr_ip           = "0.0.0.0/0"
}

resource "alicloud_instance" "ecs" {
  availability_zone          = var.zone_id
  security_groups            = alicloud_security_group.group.*.id
  instance_type              = var.instance_type
  system_disk_category       = "cloud_essd"
  image_id                   = "centos_7_9_x64_20G_alibase_20220824.vhd"
  instance_name              = "game-ecs"
  vswitch_id                 = alicloud_vswitch.vswitch.id
  internet_max_bandwidth_out = 2
  user_data                  = <<EOF
#!/bin/bash
yum install -y httpd wget
systemctl start httpd
wget 'https://computenest-artifacts-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/1853370294850618/cn-beijing/1697533575326/2048.tgz' -O 2048.tgz
tar xvf 2048.tgz
mv 2048/* /var/www/html && rm -rf 2048
EOF
}

output "GameUrl" {
  value = format("http://%s:80", alicloud_instance.ecs.public_ip)
}
  1. 配置模版参数:选择ECS的实例规格以及部署的可用区
  2. 点击预览模版资源可以查看将要创建的资源信息
  3. 点击创建进行2048游戏的自动化部署
  4. 部署完成后,点击资源栈的输出,可以看到2048游戏的地址,打开该链接即可游玩2048了!

与一键云部署:ROS的Terraform托管服务助你轻松上线2048经典游戏相似的内容:

一键云部署:ROS的Terraform托管服务助你轻松上线2048经典游戏

在现代云计算环境中,自动化部署已经成为一项重要的任务。Terraform,作为HashiCorp公司的一款开源工具,以其强大的基础设施即代码(IaC)能力,使得我们能够轻松管理和部署各种云资源。 阿里云资源编排服务(Resource Orchestration Service,ROS)是一种简单易用

让你的文档从静态展示到一键部署可操作验证

用户在根据文档进行操作时,会出现根据文档内容搭建环境困难、代码调试失败、功能无法使用的情况,主要是由于文档中有年久失修、没人维护、无法跑通的代码,给用户快速上手带来很多的挑战。为了解决文档中的这些用户体验问题,通过函数计算的能力让阿里云的文档从静态展示升级为动态可操作验证,用户在文档中单击一键部署可

个人和初创企业想要搭建网站,如何挑选一台便宜合适的云主机?

一台云服务器,除了域名备案外,可以做很多事情,个人可以使用云服务器部署个人博客系统、论坛系统、私人网盘,部署各种后端服务,企业主要用来网站建设,适用于社区网站、企业官网、门户网站、电子商务网站、游戏类等各种应用,还可以用来数据库应用、制图渲染等等。 个人搭建博客、小型网站的话,1核2G配置即可。对于

看华为云Serverless 4大特性如何让软件架构更丝滑

摘要:Serverless可以看作是一种云计算服务模型,它允许开发者在不需要管理服务器的情况下通过事件驱动的方式运行应用代码。 软件架构的发展从原先的单体架构到近十几年的微服务架构,再到现在新兴的Serverless架构。单体架构通常把应用的逻辑和功能耦合在一起,部署在BMS裸金属机或VM上,耦合模

一文带你实现云上部署轻量化定制表单Docker

本文分享自华为云社区 《【华为云云耀云服务器L实例评测|云原生】自定制轻量化表单Docker快速部署云耀云服务器 | 玩转华为云》,作者:计算机魔术师。 华为云的云耀云服务器L实例备受推崇,以其高效、可靠和安全的基础设施服务而闻名。本文将为展示在该服务器上部署轻量化定制表单服务,这是一款基于pywe

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路

在经历了一系列的探索后,我为你总结出了一套零基础的、非常好上手的借助京东云GPU云主机部署安装Stable Diffusion WebUI以及相关工具和插件的保姆集教程,请查收。

一图看懂CodeArts Deploy 5大特性,带你玩转部署服务

摘要:华为云自动化部署服务,助力企业安全、高效生产! 华为云持续部署服务CodeArts Deploy,通过模块化自由编排部署流程,实现软件的自动化部署,基于其易入门、功能全、集成度高、自动化、可靠的部署能力,能够帮您快速实现业务上云,全面提升软件的交付效率,显著提升交付质量! 戳此了解更多 点击关

【Azure Cloud Service(Extended Support)】如何使用外延服务迁移应用?

问题一:迁移到云服务扩展后,之前经典版的云服务的部署槽会变成单一的部署槽,关于两个云服务扩展版之间的部署交换能否提供一个演示? 对于具有双槽的云服务(Classic),根据文档中的建议,在迁移到云服务(外延支持)时需要先删除过渡槽,将生产槽作为一个独立的云服务进行迁移。 在完成生产槽的迁移后,创建另

[转帖]Kubernetes部署Minio集群存储的选择,使用DirectPV CSI作为分布式存储的最佳实践

Kubernetes部署Minio集群存储的选择,使用DirectPV CSI作为分布式存储的最佳实践 个人理解浅谈 1. 关于在kubernetes上部署分布式存储服务,K8s存储的选择 非云环境部署K8s Pod时存储的选择 在非云环境部署Kubernets时,一般采用的都是本地的直连式存储和文

[转帖]全局负载均衡方案

https://www.cnblogs.com/charlieroro/p/15822238.html 本文经验更适用于混合云场景,公有云一般直接使用供应商提供的LB即可。 简介 当在多云(可能是混合云)中使用Kubernetes或Openshift部署应用时,需要考虑到如何跨集群分发应用流量。为了