容器服务 Kubernetes 版 ACK(Container Service for Kubernetes)提供高性能的容器化应用管理服务,让您轻松高效地在云端运行Kubernetes容器化应用。本文将指导您如何通过控制台在ACK集群中快速部署并公开一个容器化Demo应用,即魔方游戏,并监控应用的运行情况。
使用前准备
背景知识介绍
本教程所使用的Demo应用ACK-Cube为一个线上魔方游戏,该游戏通过容器镜像部署到ACK Pro版集群中。完成本教程后,您将创建一个魔方游戏应用。
ACK基础版和ACK Pro版都是托管集群。相比于ACK基础版,本教程所创建的ACK Pro版集群具有更高的可靠性和安全性,并提供可赔付的SLA。关于ACK集群及其所使用云资源的收费情况,请参见产品计费。
如果您想了解更多Kubernetes相关概念,请参见与原生Kubernetes名词对照。您还可以通过CNCF × Alibaba 云原生技术公开课,深入学习Kubernetes。
操作步骤
手动部署
当您首次使用ACK时,您需要开通并授权容器服务ACK,然后创建集群,在集群中部署魔方应用。
步骤一:开通并授权容器服务ACK
首次使用时,您需要开通容器服务ACK,并为其授权相应云资源的访问权限。
登录容器服务ACK开通页面。
仔细阅读并选中容器服务ACK服务协议,然后单击立即开通。
登录容器服务管理控制台。
在容器服务需要创建默认角色页面,单击前往RAM进行授权进入云资源访问授权页面,然后单击同意授权。
完成以上授权后,刷新控制台即可使用容器服务ACK。如在授权过程中遇到其他问题,请参见授权管理FAQ。
步骤二:创建ACK Pro版集群
本步骤介绍如何通过配置主要参数快速创建一个ACK Pro版集群。关于配置项的详细信息,请参见创建ACK Pro版集群。
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击页面右上角的创建集群。
在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。
单击下一步:节点池配置,配置以下配置项。未说明配置项保留默认设置即可。
单击下一步:组件配置,所有组件使用默认配置。
单击下一步:确认配置,然后选中并阅读服务协议,单击创建集群。
说明集群的创建时间一般约为10分钟。创建完成后,在集群列表页面,可以看到新创建的集群。
步骤三:部署并公开应用
本步骤指导您如何在新创建的ACK集群中快速部署一个无状态应用(Deployment),即魔方游戏,并将该应用向公网公开。关于创建Deployment的详细参数描述,请参见创建无状态工作负载Deployment。
在集群列表页面中,单击目标集群名称(即ACK-Demo)。
在集群管理页左侧导航栏,选择 。
在无状态页面,单击使用镜像创建。
在应用基本信息页签,设置应用名称为ack-cube。
单击下一步,在容器配置页签,配置容器的相关参数。
配置项
说明
示例值
镜像名称
直接输入镜像名称。
输入
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。
单击下一步,在高级配置页签,单击服务(Service)右侧的创建。
在创建服务对话框中,设置服务的相关参数,单击创建,以通过该服务公开ack-cube应用。
配置项
说明
示例值
名称
输入服务的名称。
ack-cube-svc
类型
选择服务类型,即服务访问的方式。依次选择负载均衡 > 公网访问 > 新建SLB,单击修改选择所需的SLB规格。
使用默认规格,简约型I(slb.s1.small)。
端口
设置服务端口和容器端口。容器端口需要与后端的Pod中暴露的容器端口一致。
皆为80。
在高级配置页签,单击页面右下角的创建。
创建成功后,默认进入创建完成页面,会列出应用包含的对象,您可以单击查看应用详情进行查看。
步骤四:测试应用
本步骤指导您如何通过服务(Service)来访问新部署的容器化应用。
在集群列表页面中,单击目标集群名称(即ACK-Demo)。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
单击目标Deployment,即ack-cube。
单击访问方式页签,找到新创建的服务(即ack-cube-svc),单击外部端点列的链接,即可访问魔方游戏。
快速部署
打开一键配置模板链接前往ROS控制台,系统自动打开使用新资源创建资源栈的面板。在页面最上方选择部署地域,例如华北5(呼和浩特),然后设置配置项,单击创建。
配置项
说明
示例
资源栈名称
自定义。
stack_2023-06-12_cBesTX8FB
集群名称
自定义。
说明不能与现有ACK集群重名。
ack-demo-cube
可用区
选中可用区。
可用区A
节点规格
选择实例规格组。
可通过vCPU、内存筛选实例规格,也可选择架构和分类。
通用型 g6
节点系统盘磁盘类型
选择节点系统盘磁盘类型。
节点系统盘可选的类型与选择的实例规格相关。查询实例规格支持的云盘类型,请参见实例规格族。如果云盘类型下拉列表没有显示的云盘类型,代表不支持该云盘类型。
cloud_ssd
节点登录密码
设置节点登录密码。
请自行设置。
在资源栈信息页签中,显示状态为创建成功,表示快速创建成功。
在资源栈信息页签中,显示状态不为创建成功,表示快速创建不成功。可以根据界面提示单击创建一键诊断,查看详细信息。
测试应用。
待资源栈信息页签中状态显示为创建成功后,单击资源栈信息页签右侧的输出页签。然后单击CubeAddress后的链接,即可访问魔方游戏。
释放资源
使用ACK Pro版集群所产生的费用包括两部分。一部分是集群管理费用,由容器服务ACK收取。另一部分是所使用的其他阿里云云产品资源费用,按照各云产品规定的计费规则计费,由各云产品收取。完成快速入门后,请参考以下场景处理集群。
相关文档
为了保证应用能够动态调整所需容器资源,您可以配置容器水平伸缩(HPA)、定时容器水平伸缩(CronHPA)、容器垂直伸缩(VPA)等。详细信息,请参见弹性伸缩概述。
除了通过服务(Service)公开应用,您还可以通过路由(Ingress)实现对应用的七层网络路由控制。详细信息,请参见创建Nginx Ingress。
除了观测容器性能,您还可以观测集群基础设施、应用性能和用户业务。详细信息,请参见可观测性体系概述。
监控应用的运行状况,如CPU使用率、内存利用率、网络I/O压力等指标,请在集群管理页左侧导航栏,选择运维管理>Prometheus监控,在Prometheus监控页面查看。