更新时间:2022-05-10 GMT+08:00
分享

部署游戏应用

在本章节中,您将会把游戏应用部署到CCE云容器引擎中,您需要执行以下操作:

  1. 创建集群集群是运行应用的逻辑分组,包含一组云服务器资源,每个节点对应一台云服务器。首次使用CCE时,您需要创建一个初始集群,并添加一个节点。
  2. 部署MySQL数据库:部署MySQL数据库。
  3. 部署wow-auth认证系统:您将会把wow-auth认证系统部署到CCE云容器引擎中。
  4. 部署wow-world游戏服务器:您将会把wow-world游戏服务器部署到CCE云容器引擎中。

创建集群

集群是运行应用的逻辑分组,包含一组云服务器资源,每个节点对应一台云服务器。首次使用CCE时,您需要创建一个初始集群,并添加一个节点。

  1. 创建集群前,您需要创建虚拟私有云和密钥对。

    若您已有虚拟私有云和密钥对,可重复使用,无需多次创建。

    表1 准备环境列表

    序列

    类别

    操作步骤

    1

    创建虚拟私有云

    您需要创建虚拟私有云,为CCE集群提供一个隔离的、用户自主配置和管理的虚拟网络环境。

    若您已有虚拟私有云,可重复使用,无需多次创建。

    1. 登录管理控制台。
    2. 在服务列表中,选择“网络 > 虚拟私有云”。
    3. 在“总览”界面,单击“创建虚拟私有云”。
    4. 根据界面提示创建虚拟私有云。如无特殊需求,界面参数均可保持默认。

    2

    创建密钥对

    您需要新建一个密钥对,用于远程登录节点时的身份认证。若您已有密钥对,可重复使用,无需多次创建。

    1. 登录管理控制台。
    2. 在服务列表中,选择“安全与合规 > 数据加密服务 DEW”。
    3. 选择左侧导航中的“密钥对管理”,选择“私有密钥对”,单击“创建密钥对”。
    4. 输入密钥对名称,勾选“我同意将密钥对私钥托管”“我已经阅读并同意《密钥对管理服务免责声明》”单击“确定”。
    5. 在弹出的对话框中,单击“确定”。

      请根据提示信息,查看并保存私钥。为保证安全,私钥只能下载一次,请妥善保管,否则将无法登录节点。

  2. 选择“集群管理”,在右侧页面“CCE集群”下,单击“购买”

    填写集群参数,输入集群名称cluster-wow,选择1中创建的VPC。具体请参见购买CCE集群

  3. 购买节点,选择1中创建的密钥对作为登录选项。具体请参见创建节点

    配置添加节点的参数。除节点规格、网络和登录外,其余参数保持默认即可。
    • 节点规格:CPU为4核,内存为8GB。

      此规格为部署该游戏demo的最小资源,只能装一个游戏服务器,如需要部署更多服务器,需要扩容节点或选择更高规格的节点。

    • 登录方式:选择表1中已创建的密钥对,用于登录节点的密钥。

  4. 节点创建完成后,登录VPC控制台,购买EIP,并将EIP绑定到节点上。

创建MySQL数据库

本节数据库采用2个实例的有状态负载部署,在实际使用中数据库通常会采用更为复杂集群、主备等方式部署,或直接使用数据库云服务。

  1. 登录CCE控制台,进入集群,左侧导航栏中选择“工作负载”,在右侧页面单击“镜像创建”
  2. 填写工作负载基本信息。

    • 负载类型:选择“有状态负载”
    • 负载名称:mysql。
    • 命名空间:default。
    • 实例数量:本例中修改Pod数量为1。

  3. “容器配置”中,选择mysql镜像,单击“确定”

    图1 选择mysql镜像

    选择镜像版本为“5.7”,如下图所示。

    设置环境变量,此处一共需要设置四个环境变量。您可以在MySQL查看MySQL可以设置哪些环境变量。

    • MYSQL_ROOT_PASSWORD:MySQL的root用户密码。
    • MYSQL_DATABASE:镜像启动时要创建的数据库名称。
    • MYSQL_USER:数据库用户名称。
    • MYSQL_PASSWORD:数据库用户密码。

  4. 在“数据存储”下选择“存储卷声明PVC”页签,添加云存储,作为mysql的存储。

    将存储挂载到容器的 /var/lib/mysql 路径,这是mysql默认使用的路径。
    图2 挂载mysql存储

  5. “实例间服务发现服务配置”设置工作负载间访问参数。

    有状态负载需要配置一个用于实例间发现的Headless Service,本示例没有使用该功能,随便填写一个端口即可。
    图3 Headless Service

  6. “服务配置”中单击添加服务,设置工作负载访问参数,设置完成后,单击“确定”

    服务名称设置为mysql,访问类型选择集群内访问(ClusterIP),容器端口和服务端口都配置为3306,单击“确定”

    mysql镜像的默认访问端口默认为3306,所以容器端口设置为3306,服务端口可以设置为其他端口号,但这里也设置成3306是为了方便使用。

    这样在集群内部,通过服务名称:访问端口就可以访问MySQL负载,也就是mysql:3306

    图4 添加mysql服务

  7. 单击“创建工作负载”

    待负载状态为“运行中”,负载创建成功。

  8. 单击mysql名称,进入详情页面。单击“访问方式”页签,获取并记录“访问地址”

部署wow-auth认证系统

您将会把wow-auth认证系统部署到CCE云容器引擎中。在部署过程中,wow-auth认证系统将通过环境变量的方式连接MySQL数据库,以及wow-world游戏服务器。

  1. 登录CCE控制台,进入集群,左侧导航栏中选择“工作负载”,在右侧页面单击“镜像创建”
  2. 填写工作负载基本信息。

    • 负载类型:选择“无状态负载”
    • 负载名称:自定义名称,例如wow-auth。
    • 命名空间:default。
    • 实例数量:本例中修改Pod数量为1。

  3. 容器镜像选择wowauth-5.0版本的镜像。
  4. 其余参数保持默认,配置容器规格。

    计算资源根据应用本身所需设置,本例游戏的wow-auth组件至少需要0.5 Core的CPU,和0.5GiB的内存。

  5. 配置环境变量,用于连接数据库,以及连接wow-world游戏服务器。

    下表中的环境变量都是在镜像中提前设定好的。若不清楚如何配置,请参见部署游戏应用时,环境变量值如何获取?获取对应值。
    表2 设置环境变量

    变量名称

    变量说明

    变量/变量引用(示例)

    mysqlip

    变量值请填写8中获取的数据库访问地址。

    10.247.59.224//10.247.130.188

    mysqlrootpasswd

    数据库管理员权限密码,与3中的管理员权限密码保持一致。

    -

    biboaddress

    游戏服务器外部访问地址,可以选择弹性IP方式,或者负载均衡。本例使用弹性IP方式。请选择4中的弹性IP地址。

    10.3.2.119

    biboport

    游戏服务器外部访问端口,需要预先自定义设置一个值,范围为30000-32767。

    说明:

    该值必须确保在当前集群中全局唯一。本例为了操作方便,指定固定值来连接游戏服务器。若部署真实业务,建议在制作镜像时明确依赖关系。

    32500

  6. “服务配置”中单击添加服务,设置工作负载访问参数,设置完成后,单击“确定”

    • 访问类型:选择“节点访问 ( NodePort )”
    • 服务名称:可以和应用名称保持一致,例如设置为wow-auth。
    • 服务亲和:本例选择“集群级别”
      • 集群级别:集群下所有节点的IP+访问端口均可以访问到此服务关联的负载,服务访问会因路由跳转导致一定性能损失,且无法获取到客户端源IP。
      • 节点级别:只有通过负载所在节点的IP+访问端口才可以访问此服务关联的负载,服务访问没有因路由跳转导致的性能损失,且可以获取到客户端源IP。
    • 端口配置:
      • 协议:设置为TCP协议。
      • 服务端口:访问Service的端口。
      • 容器端口:认证系统的监听端口,本例监听端口为3724。镜像中已写3724,此数据不可填写其它值。
      • 节点端口:容器端口映射到节点私有IP上的端口,设置为自动生成。

  7. 单击“创建工作负载”

部署wow-world游戏服务器

您将会把wow-world游戏服务器部署到CCE云容器引擎中。在部署过程中,wow-world认证系统将通过环境变量的方式连接MySQL数据库。

  1. 登录CCE控制台,进入集群,左侧导航栏中选择“工作负载”,在右侧页面单击“镜像创建”
  2. 配置工作负载基本信息。

    • 负载类型:选择“无状态负载”
    • 工作负载名称:自定义名称,例如为wow-world。
    • 命名空间:保持默认。
    • 实例数量:建议配置为1,否则资源会不够用。
    • 工作负载描述:可不填写。

  3. 选择镜像为wowworld-5.0-withmap
  4. 设置容器规格。计算资源根据应用本身所需设置,本例游戏的wow-world组件至少需要2 Core的CPU,和2GiB的内存。
  5. 设置环境变量,用于连接数据库。环境变量说明如表3

    若环境变量不清楚如何配置,请参见部署游戏应用时,环境变量值如何获取?查看如何配置。

    表3 设置环境变量

    变量名称

    变量说明

    变量/变量引用(示例)

    mysqlip

    变量值请填写数据库访问地址。

    10.247.59.224

    mysqlrootpasswd

    数据库管理员密码,与3中设置的管理员权限密码一致。

    -

  6. “服务配置”中单击添加服务,设置工作负载访问参数,设置完成后,单击“确定”

    • 访问类型:选择“节点访问 ( NodePort )”
    • 服务名称:可以和工作负载名称保持一致,例如设置为wow-world。
    • 服务亲和:本例选择“集群级别”
      • 集群级别:集群下所有节点的IP+访问端口均可以访问到此服务关联的负载,服务访问会因路由跳转导致一定性能损失,且无法获取到客户端源IP。
      • 节点级别:只有通过负载所在节点的IP+访问端口才可以访问此服务关联的负载,服务访问没有因路由跳转导致的性能损失,且可以获取到客户端源IP。
    • 协议:设置为TCP协议。
    • 服务端口:访问Service的端口。
    • 容器端口:游戏服务器的监听端口,配置为8085。由于镜像中已写该端口,请不要修改。
    • 节点端口:指定端口,需要与部署认证系统时环境变量中指定的biboport值保持一致。若未记录,可参照部署游戏服务器时,访问端口如何获取?获取。

  7. 单击“创建工作负载”
分享:

    相关文档

    相关产品

close