通过ACK控制台快速搭建魔方游戏

容器服务 Kubernetes 版 ACK(Container Service for Kubernetes)提供高性能的容器化应用管理服务,让您轻松高效地在云端运行Kubernetes容器化应用。本文将指导您如何通过控制台在ACK集群中快速部署并公开一个容器化Demo应用,即魔方游戏,并监控应用的运行情况。

使用前准备

注册阿里云账号并完成实名认证,请参见注册阿里云账号个人实名认证

背景知识介绍

  • 本教程所使用的Demo应用ACK-Cube为一个线上魔方游戏,该游戏通过容器镜像部署到ACK Pro版集群中。完成本教程后,您将创建一个魔方游戏应用。cube

  • ACK基础版和ACK Pro版都是托管集群。相比于ACK基础版,本教程所创建的ACK Pro版集群具有更高的可靠性和安全性,并提供可赔付的SLA。关于ACK集群及其所使用云资源的收费情况,请参见产品计费

  • 如果您想了解更多Kubernetes相关概念,请参见基本概念

操作步骤

手动部署

workflow

当您首次使用ACK时,您需要开通并授权容器服务ACK,然后创建集群,在集群中部署魔方应用。

步骤一:开通并授权容器服务ACK

首次使用时,您需要开通容器服务ACK,并为其授权相应云资源的访问权限。

  1. 登录容器服务ACK开通页面

  2. 仔细阅读并选中容器服务ACK服务协议,然后单击立即开通

  3. 登录容器服务管理控制台

  4. 容器服务需要创建默认角色页面,单击前往RAM进行授权进入云资源访问授权页面,然后单击同意授权

    完成以上授权后,刷新控制台即可使用容器服务ACK。如在授权过程中遇到其他问题,请参见授权管理FAQ

步骤二:创建ACK Pro版集群

本步骤介绍如何通过配置主要参数快速创建一个ACK Pro版集群。关于配置项的详细信息,请参见创建ACK Pro版集群

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击页面右上角的创建集群

  3. ACK 托管版页签下,配置以下配置项。未说明配置项保留默认设置即可。

    配置项

    说明

    示例

    集群名称

    填写集群的名称。

    ACK-Demo

    集群规格

    选择集群规格,支持Pro 版基础版。企业生产和测试环境中推荐使用ACK集群Pro版ACK集群基础版仅供个人学习与测试使用。

    关于ACK Pro版集群的详细信息,请参见ACK集群Pro版概述

    Pro版

    地域

    选择集群所在的地域。

    华北2(北京)

    专有网络

    Kubernetes集群仅支持运行于专有网络,因此您需要为集群指定专有网络VPC,且该VPC必须与集群处于同一地域。

    通过单击创建专有网络,在华北2(北京)地域下创建名为vpc-ack-demo的VPC。详细信息,请参见创建和管理专有网络

    vpc-ack-demo

    虚拟交换机

    选择用于集群节点间通信的交换机。

    通过单击创建虚拟交换机,在vpc-ack-demo的VPC下创建一个名为vswitch-ack-demo的虚拟交换机,并选择使用该交换机。详细信息,请参见创建和管理交换机

    vswitch-ack-demo

    API Server 访问

    设置集群API Server是否可在公网访问,当您需要从公网远程管理集群时,需要配置弹性公网IP(EIP)。

    选中使用 EIP 暴露 API Server

  4. 单击下一步:节点池配置,配置以下配置项。未说明配置项保留默认设置即可。

    配置项

    说明

    示例

    实例规格

    为集群选配所使用的节点。

    您可通过设置vCPU内存的大小,或者直接搜索实例规格,选用该规格的节点。

    为了保证集群的稳定性,建议的实例规格为:vCPU≥4核,内存≥8 GiB。关于如何选型以及规格介绍,请参见ECS实例规格配置建议实例规格族

    vCPU≥4核,内存≥8 GiB的实例规格

    数量

    根据需要设置集群的节点数量。

    2

    系统盘

    选择节点所使用的系统盘。

    ESSD云盘,40 GiB

    登录方式

    选择登录节点的方式。

    请自行设置密码。

  5. 单击下一步:组件配置,所有组件使用默认配置。

  6. 单击下一步:确认配置,然后选中并阅读服务协议,单击创建集群

    说明

    集群的创建时间一般约为10分钟。创建完成后,在集群列表页面,可以看到新创建的集群。

步骤三:部署并公开应用

本步骤指导您如何在新创建的ACK集群中快速部署一个无状态应用(Deployment),即魔方游戏,并将该应用向公网公开。关于创建Deployment的详细参数描述,请参见创建无状态工作负载Deployment

  1. 在集群列表页面中,单击目标集群名称(即ACK-Demo)。

  2. 在集群管理页左侧导航栏,选择工作负载 > 无状态

  3. 无状态页面,单击使用镜像创建

  4. 应用基本信息页签,设置应用名称为ack-cube。

  5. 单击下一步,在容器配置页签,配置容器的相关参数。

    图片 1.png

    配置项

    说明

    示例值

    镜像名称

    直接输入镜像名称。

    输入registry.cn-hangzhou.aliyuncs.com/acr-toolkit/ack-cube:1.0

    资源限制

    根据需要为该应用指定所能使用的资源上限,防止占用过多资源。

    1 Core,内存1024 MiB,Ephemeral Storage为空。

    所需资源

    根据需要为该应用指定预留的资源额度,防止因资源不足而导致应用不可用。

    0.5 Core,内存512 MiB,Ephemeral Storage为空。

    端口

    设置容器的端口。

    ack-cube,80,TCP。

  6. 单击下一步,在高级配置页签,单击服务(Service)右侧的创建

  7. 创建服务对话框中,设置服务的相关参数,单击创建,以通过该服务公开ack-cube应用。

    service

    配置项

    说明

    示例值

    名称

    输入服务的名称。

    ack-cube-svc

    类型

    选择服务类型,即服务访问的方式。依次选择负载均衡 > 公网访问 > 新建SLB,单击修改选择所需的SLB规格。

    使用默认规格,简约型I(slb.s1.small)。

    端口

    设置服务端口容器端口容器端口需要与后端的Pod中暴露的容器端口一致。

    皆为80。

  8. 高级配置页签,单击页面右下角的创建

    创建成功后,默认进入创建完成页面,会列出应用包含的对象,您可以单击查看应用详情进行查看。succeed

步骤四:测试应用

本步骤指导您如何通过服务(Service)来访问新部署的容器化应用。

  1. 在集群列表页面中,单击目标集群名称(即ACK-Demo)。

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 无状态

  3. 单击目标Deployment,即ack-cube。

  4. 单击访问方式页签,找到新创建的服务(即ack-cube-svc),单击外部端点列的链接,即可访问魔方游戏。4.jpg

快速部署

  1. 打开一键配置模板链接前往ROS控制台,系统自动打开使用新资源创建资源栈的面板。在页面最上方选择部署地域,例如华北5(呼和浩特),然后设置配置项,单击创建

    配置项

    说明

    示例

    资源栈名称

    自定义。

    stack_2023-06-12_cBesTX8FB

    集群名称

    自定义。

    说明

    不能与现有ACK集群重名。

    ack-demo-cube

    可用区

    选中可用区。

    可用区A

    节点规格

    选择实例规格组。

    可通过vCPU内存筛选实例规格,也可选择架构分类

    通用型 g6

    节点系统盘磁盘类型

    选择节点系统盘磁盘类型。

    节点系统盘可选的类型与选择的实例规格相关。查询实例规格支持的云盘类型,请参见实例规格族。如果云盘类型下拉列表没有显示的云盘类型,代表不支持该云盘类型。

    cloud_ssd

    节点登录密码

    设置节点登录密码。

    请自行设置。

    • 资源栈信息页签中,显示状态创建成功,表示快速创建成功。

    • 资源栈信息页签中,显示状态不为创建成功,表示快速创建不成功。可以根据界面提示单击创建一键诊断,查看详细信息。

  2. 测试应用。

    资源栈信息页签中状态显示为创建成功后,单击资源栈信息页签右侧的输出页签。然后单击CubeAddress后的链接,即可访问魔方游戏。资源栈.jpeg

释放资源

使用ACK Pro版集群所产生的费用包括两部分。一部分是集群管理费用,由容器服务ACK收取。另一部分是所使用的其他阿里云云产品资源费用,按照各云产品规定的计费规则计费,由各云产品收取。完成快速入门后,请参考以下场景处理集群。

  • 如果无需继续使用集群,请登录容器服务管理控制台,在集群列表页面的操作列,单击目标集群对应的更多 > 删除。在删除集群页面,选中同时删除集群下的ALB资源同时删除集群下的PrivateZone资源同时删除集群管理关联的SLS项目我已知晓以上信息并确认删除集群,然后单击确定。关于删除ACK Pro版集群的更多信息,请参见删除集群

  • 如果需要继续使用集群,请为阿里云账号充值,确保账户金额不小于100.00元人民币。在使用ACK Pro版集群过程中用到的其他阿里云云产品资源的相关计费说明,请参见云产品资源计费

相关文档

  • 为了保证应用能够动态调整所需容器资源,您可以配置容器水平伸缩(HPA)、定时容器水平伸缩(CronHPA)、容器垂直伸缩(VPA)等。详细信息,请参见弹性伸缩概述

  • 除了通过服务(Service)公开应用,您还可以通过路由(Ingress)实现对应用的七层网络路由控制。详细信息,请参见创建Nginx Ingress

  • 除了观测容器性能,您还可以观测集群基础设施、应用性能和用户业务。详细信息,请参见可观测性体系概述

  • 监控应用的运行状况,如CPU使用率、内存利用率、网络I/O压力等指标,请在集群管理页左侧导航栏,选择运维管理>Prometheus监控,在Prometheus监控页面查看。