通过ACK快速搭建魔方游戏应用_容器服务 Kubernetes 版 ACK(ACK)-深圳网站优化推广公司

通过ACK快速搭建魔方游戏应用

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

教程概览

2024-12-12_16-00-46 (1)本教程所使用的示例应用ACK-Cube为一个线上魔方游戏,该游戏通过容器镜像部署到ACK集群Pro中。完成本教程后,您将创建一个魔方游戏应用,流程如下。

  1. 开通授权并创建ACK集群:快速完成开通授权并创建ACK集群。

  2. 部署魔方游戏应用:从三种部署方式中选择一种来部署游戏,包括控制台界面部署、ROS快速部署、kubectl部署。

  3. 公网访问应用:应用配置完成后,获取ack-cube服务的外部IP地址(External IP),并通过外部IP地址访问魔方游戏。

操作步骤

您可以从三种部署方式中选择一种来部署魔方游戏应用。

  • 控制台界面部署流程:快速创建集群、部署并公开应用、访问应用。

  • ROS快速部署流程:ROS一键部署集群环境、访问应用。

  • kubectl部署流程:快速创建集群、连接集群(CloudShell、kubectl客户端、Workbench)、部署并公开应用、访问应用。

控制台

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

1. 快速创建集群

说明

如果您未开通容器服务并授权默认角色,以及未开通相关云产品,则可能无法正常使用容器服务及其关联功能。建议您按照官方文档指引完成相应配置和授权,以确保服务能够顺利运行。详细操作,请参见快速创建ACK托管集群。关于ACK集群及其所使用云资源的收费情况,请参见产品计费。

如果您是首次使用,期望快速体验如何创建一个集群,您可以使用集群默认配置。如需构建一个生产环境的集群,请参见创建ACK托管集群

  1. 登录容器服务管理控制台集群列表页面,单击创建集群image

  2. 在上方选择ACK 托管集群页签,集群规格选择为Pro,如果您有公网访问集群能力的需求,您可以在个人测试集群勾选使用 EIP 暴露 API server获得该能力,方便您的后续连接和管理集群。然后单击右下方的下一步:节点池配置按钮。image

  3. 在实例规格中选择任何4 vCPU、8GiB内存的规格,例如计算型 c6(ecs.c6.xlarge)。然后单击右下方的下一步:组件配置按钮。image

  4. 容器监控可选择免费基础版。然后单击右下方的下一步:确认配置按钮。image

  5. 最后单击右下方的创建集群按钮,等待集群创建完成即可。

2. 部署并公开应用

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

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

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

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

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

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

    image

    配置项

    说明

    示例值

    镜像名称

    直接输入镜像名称。

    输入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应用。

    image

    配置项

    说明

    示例值

    名称

    输入服务的名称。

    ack-cube-svc

    类型

    选择服务类型,即服务访问的方式。依次选择负载均衡 > 传统型负载均衡CLB > 新建资源,在个人测试环境CLB资源保持默认即可。

    使用默认设置。

    端口

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

    皆为80。

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

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

3. 访问应用

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

登录容器服务管理控制台集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 无状态找到命名空间为default,名称为ack-cube的应用。单击访问方式页签,找到新创建的服务(即ack-cube-svc),单击外部端点列的链接,即可访问魔方游戏。image

ROS快速部署

您可以借助ROS模板一键部署,在10分钟内搭建起ACK集群并部署魔方游戏应用。同时使用负载均衡服务将该应用分配一个可访问的公网IP地址。您只需在浏览器中点击,即可轻松访问该应用。

展开查看创建的云资源

本方案的技术架构包括以下云服务:

  • 容器服务 Kubernetes 版:搭建1ACK集群Pro环境。

  • 云服务器 ECS:2台提供集群服务的ECS。

  • 专有网络 VPC(Virtual Private Cloud):1个专有网络,提供云上私有网络。

  • 弹性公网 IP:允许您将公网IP地址与云服务器、负载均衡等资源进行绑定或解绑。

  • 负载均衡:将来自公网或内网的访问请求根据转发规则和算法分配到后端多台服务器上。

  • 云盘存储卷:存储卷挂载到容器中满足数据的持久化存储需求。

预估总体费用信息与您选择的资源规格有关,相关计费信息,请参见计费概述

说明

如果您未开通容器服务并授权默认角色,以及未开通相关云产品,则可能无法正常使用容器服务及其关联功能。建议您按照官方文档指引完成相应配置和授权,以确保服务能够顺利运行。详细操作,请参见快速创建ACK托管集群。关于ACK集群及其所使用云资源的收费情况,请参见产品计费。

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

    配置项

    说明

    示例

    资源栈名称

    自定义。

    stack_2023-06-12_cBesTX8FB

    集群名称

    自定义。

    说明

    不能与现有ACK集群重名。

    ack-demo-cube

    可用区

    选中可用区。

    可用区A

    节点规格

    选择实例规格组。

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

    例如通用型 g6

    节点系统盘磁盘类型

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

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

    cloud_essd

    节点登录密码

    设置节点登录密码。

    请自行设置。

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

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

  2. 测试应用。

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

kubectl

1. 快速创建集群

说明

如果您未开通容器服务并授权默认角色,以及未开通相关云产品,则可能无法正常使用容器服务及其关联功能。建议您按照官方文档指引完成相应配置和授权,以确保服务能够顺利运行。详细操作,请参见快速创建ACK托管集群。关于ACK集群及其所使用云资源的收费情况,请参见产品计费。

如果您是首次使用,期望快速体验如何创建一个集群,您可以使用集群默认配置。如需构建一个生产环境的集群,请参见创建ACK托管集群

  1. 登录容器服务管理控制台集群列表页面,单击创建集群image

  2. 在上方选择ACK 托管集群页签,集群规格选择为Pro,如果您有公网访问集群能力的需求,您可以在个人测试集群勾选使用 EIP 暴露 API server获得该能力,方便您的后续连接和管理集群。然后单击右下方的下一步:节点池配置按钮。image

  3. 在实例规格中选择任何4 vCPU、8GiB内存的规格,例如计算型 c6(ecs.c6.xlarge)。然后单击右下方的下一步:组件配置按钮。image

  4. 容器监控可选择免费基础版。然后单击右下方的下一步:确认配置按钮。image

  5. 最后单击右下方的创建集群按钮,等待集群创建完成即可。

2. 连接集群

您可以通过kubectl、WorkbenchCloudShell连接集群。

CloudShell

如果您需要快速使用公网访问集群,但不想重复配置kubectl客户端,您可以使用阿里云提供的CloudShell网页版命令行工具。在CloudShell启动时会自动为您分配一台Linux虚拟机供您免费使用。该虚拟机已预装多种常用环境与工具,配合CloudShell提供的Web IDE,辅助您完成日常的云资源管理。本步骤指导您如何通过CloudShell快速连接到ACK集群。更多信息,请参见在CloudShell上通过kubectl管理Kubernetes集群。

登录容器服务管理控制台在控制台左侧导航栏,单击目标集群集群信息页面中,选择基本信息 > 通过CloudShell管理集群

image

等待数秒启动成功之后,您就可以在CloudShell界面通过kubectl命令来管理集群和应用。

kubectl客户端

如果您需要使用公网机器访问集群,您可以为该机器安装设置kubectl客户端,使用该工具通过公网机器直接访问集群。本步骤指导您如何通过kubectl客户端快速连接到ACK集群。更多信息,请参见获取集群KubeConfig并通过kubectl工具连接集群。

  1. 安装和设置 kubectl客户端。有关详细信息请参见安装和设置 kubectl

  2. 登录容器服务管理控制台在控制台左侧导航栏,单击集群在集群列表页面中,单击目标集群名称(即ACK-Demo)。集群信息页面,单击连接信息页签,复制公网访问页签下的内容(即集群的公网访问凭证)。将复制的集群凭证内容粘贴至$HOME/.kube目录下的config文件中,保存并退出。image

    说明

    如果客户端机器$HOME/目录下没有.kube目录和config文件,请自行创建。

  3. 执行kubectl命令验证集群的连通性。

    以查询命名空间为例,执行以下命令。

    kubectl get namespace

    预期输出:

    NAME              STATUS   AGE
    arms-prom         Active   4h39m
    default           Active   4h39m
    kube-node-lease   Active   4h39m
    kube-public       Active   4h39m
    kube-system       Active   4h39m

Workbench

如果您不需要使用公网访问集群,您可以使用阿里云提供的浏览器远程连接工具Workbench,使用该工具,您无需额外安装任何软件即可通过浏览器直接访问ACK集群。详细操作,请参见通过Workbench连接实例

登录容器服务管理控制台在控制台左侧导航栏,单击目标集群集群信息页面中,选择基本信息 > 通过Workbench管理集群

image

等待数秒启动成功之后,根据页面指引您就可以在Workbench界面中,通过kubectl命令来管理集群和应用。

3. 部署并公开应用

本步骤指导您如何通过kubectl在新创建的ACK集群中快速部署一个无状态应用(Deployment),并将其通过LoadBalancer类型服务(Service)公开。关于服务公开的详细操作,请参见通过使用自动创建负载均衡的服务公开应用。

  1. 使用以下示例应用的YAML内容,创建名为ack-cube.yaml的文件。

    apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
    kind: Deployment
    metadata:
      name: ack-cube #应用名称。
      labels:
        app: ack-cube
    spec:
      replicas: 2 #设置副本数量。
      selector:
        matchLabels:
          app: ack-cube  #对应服务中Selector的值需要与其一致,才可以通过服务公开此应用。
      template:
        metadata:
          labels:
            app: ack-cube
        spec:
          containers:
          - name: ack-cube
            image: registry.cn-hangzhou.aliyuncs.com/acr-toolkit/ack-cube:1.0 #替换为您实际的镜像地址,格式为:<image_name:tags>。
            ports:
            - containerPort: 80 #需要在服务中暴露该端口。
            resources:
              limits: #设置资源限制。
                cpu: '1'
                memory: 1Gi
              requests: #设置所需资源
                cpu: 500m
                memory: 512Mi        
  2. 执行以下命令,部署Demo应用ack-cube。

    kubectl apply -f ack-cube.yaml
  3. 执行以下命令,确认示例应用状态正常。

    kubectl get deployment ack-cube

    预期输出:

    NAME       READY   UP-TO-DATE   AVAILABLE   AGE
    ack-cube   2/2     2            2           96s
  4. 使用以下示例服务的YAML内容,创建名为ack-cube-svc.yaml的文件。将selector修改为ack-cube.yaml示例应用文件中matchLabels的值(本示例为app: ack-cube),从而将该服务关联至后端应用。

    apiVersion: v1
    kind: Service
    metadata:
      labels:
        app: ack-cube
      name: ack-cube-svc
      namespace: default
    spec:
      ports:
      - port: 80
        protocol: TCP
        targetPort: 80
      selector:
        app: ack-cube # 需要与Deployment YAML文件中的matchLabels的值一致。
      type: LoadBalancer
  5. 执行以下命令创建名为ack-cube-svc的服务,并通过其公开应用。

    ACK会自动创建一个公网SLB,并将其绑定至该服务。

    kubectl apply -f ack-cube-svc.yaml
  6. 执行以下命令确认LoadBalancer类型的服务创建成功。

    示例应用将通过EXTERNAL-IP字段的IP地址向公网公开。

    kubectl get svc ack-cube-svc

    预期输出:

    NAME           TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)        AGE
    ack-cube-svc   LoadBalancer   172.16.72.161   47.94.xx.xx   80:31547/TCP   32s

(可选)释放资源

使用ACK集群Pro所产生的费用包括两部分:集群管理费用(由ACK收取),以及所使用的其他阿里云云产品资源费用(由各云产品收取)。

如果您无需继续使用集群,请登录容器服务管理控制台,在集群列表页面的操作列,单击目标集群对应的更多 > 删除。在删除集群及关联资源页面,您可选择删除集群关联资源,然后单击删除即可。关于删除ACK集群的更多信息,请参见删除集群

image

相关文档

  • 如果您业务的资源需求不易预测或有周期性变化,例如Web应用、游戏服务、在线教育等场景,推荐您在集群中配置弹性伸缩,包括工作负载伸缩和计算资源伸缩,请参见弹性伸缩概述。

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

  • 除了观测容器性能,您还可以观测集群基础设施、应用性能和用户业务,监控和日志两部分,通过监控功能查看系统的运行状态,通过日志协助问题的排查和诊断,请参见可观测性体系概述。

    相关内容推荐

    网站制作 西安西大街珠海提供网站制作选哪家网易我的世界地图画制作网站专业的公司网站制作服务开县品牌网站制作多少钱一年有没有可以制作免费公司网站成都建设网站制作湖州公司网站制作制作企业网站多少钱能制作样机的网站电脑网站制作哪家信誉好嘉定区网站制作与推广哪家公司好本溪企业门户网站制作佛山网站制作包括哪些服务南通企业网站制作方案玉环网站制作如何使图片不平铺黄岛区网站制作制作网站培训机构诸暨网站制作有哪些是必要的义乌公众号制作网站需要多少钱个人网站怎么制作dw网站单独页面怎么制作珠海网站制作价格表如何制作单页网站网站标题图片在线制作无锡外贸网站制作公司哪家好微信封面图制作网站定西网站制作认准兰州新一代网络厦门制作网站的价格衢州网站制作哪个靠谱场景模型制作网站制作企业网站多少钱放心的网站制作及推广购物网站建设优化制作公司苏有朋三级网站制作南通网站模板制作如何让公司网站制作得更高端启东网站制作哪家性价比出众平江网站制作网络推广方案淄博专业制作网站速度一分钟带你了解网站制作流程永城定制企业网站制作公司罗湖自动网站制作公司好吗渝中网站制作建设网站制作的大公司海盐网站制作哪里的好影视后期制作网站推荐北京信息化网站制作流程介绍如何制作电子商务类网站长春网站制作手工温州网站制作建设价格低的营销型网站制作安顺服务好的网站制作公司哪个网站免费下载制作文件制作电子目录的网站网站制作昌平公司宜春制作网站设计哪家可靠网站制作描述文件小程序网站制作平台能免费制作网站吗石排服装网站制作哪家快衢州相片书制作哪个网站好铜川制作企业网站园林公司的网站制作比较好的怎么制作撩妹网站锦州门户网站制作报价什邡高端网站制作摄影集网站制作vue源码海宁在家如何制作网站海口网站制作方法崂山区制作网站需要多少钱保定电影网站制作心理测试网站怎么制作义乌制作网站培训学校网站制作报价表一年数学一捕导网站制作方案报价模板上海正规网站制作技术潍城区英文网站制作联系方式五颜六色近义词网站制作ppt模板怎么制作网站贵阳高端网站开发制作北京互联网行业网站制作苏州行业网站制作服务哪家好舟山家电维修网站制作售后老师制作个人网站汕头网站建设设计制作简笔手绘头像制作网站广西数字网站制作流程类型登封网站设计与制作网站制作钱制作能打开电影的网站链接公主岭网站制作哪家好ps制作免费网站珠海网站制作教程南通网站制作方案报价德克士网站制作视频海宁如何制作博客网站免费制作主题网站清乐制作网站多少像素浙江数字网站制作特点口碑推荐维语网站制作书签易门县网站制作太原尖草坪区商城网站制作海宁如何制作婚恋网站雪铁龙网站制作壁纸潍城区制作网站哪家效果好vivo主题diy制作网站成都专业网站制作如何制作一个有趣的网站湛江个人网站制作在哪里做江苏网站制作案例请制作以奥运会为主题的网站现有网站制作小程序推广型网站制作多少费用铜陵网站制作找哪家质感背景制作网站珠海网站建设制作哪家专业汕头网站建设制作c 制作网站 页面跳转朔州网站制作的流程东湖免费的网站制作初中网站制作步骤广播电视节目制作许可证年报网站泰和县创建个人网站制作流程步骤商丘网站建设开发与制作京东网站制作书籍推荐都江堰网站推广制作盐田区制作网站报价齐齐哈尔制作网站价格黄江镇网站制作公司制作网站什么题材好什么网站可以快速制作视频郑州专业制作网站多少钱自定义制作插画的网站海北藏族自治州装修公司网站制作徐汇网站制作培训班如何制作一般企业网站头像设计制作网站学生毕业网站制作教程招标通网站制作标书传奇网站制作视频教程永康制作网站如何设置登陆权限珠海静态网站制作中山网站设计与制作制作网站文章怎么做兰州网站建设制作推广可以制作电子笔记模板的网站湛江搭建制作网站平台天津影视网站制作娄底网站制作哪家靠谱适合自学动态网页制作的网站怎么自己制作网站设计淮安网站建设与设计制作玉溪网站制作招商加盟代理威武网站设计制作长沙外贸网站制作费用报价网站制作的发展状况网站广告窗体制作提供网站建设和制作宜都网站制作公司推广型网站制作多少费用淘宝网站制作公司如何制作接码网站小程序 网站制作 北京用什么工具如何开发制作一个网站制作照片墙网站清远老牌网站制作选哪家南沙区网站制作报价如何制作电子商务类网站制作诗歌的网站制作网站对企业有什么作用义乌市手机网站制作做网站制作找哪家英语单词游戏制作网站网站模板制作 带来湖南岚鸿象山中山制作网站公司有哪些东莞响应式网站制作哪家好金山卫网站制作公司舟山网站制作网站建设哪个公司好自学短视频制作网站零基础网站制作龙华网站制作与推广外包公司荔湾区制作网站价格湖州怎么制作商品出售网站源码余姚洪梅网站制作有哪些济南行业设备网站设计制作php网站pc制作移动制作淘宝个人网站多少钱山东高端网站制作如何用手机制作网站链接海珠区网站制作费用四川自适应网站制作制作上传课件的网站惠州电力工程网站设计制作教学网站制作的方案设计毕设电子商务网站设计与制作长沙商城网站制作哪个公司好长沙商城网站制作服务哪家好制作网站哪家价格便宜怎么制作新浪网站

    合作伙伴

    深圳网站优化推广公司

    龙岗网络公司
    深圳网站优化
    龙岗网站建设
    坪山网站建设
    百度标王推广
    天下网标王
    SEO优化按天计费
    SEO按天计费系统