使用ACK Auto Mode集群快速部署Nginx工作负载
本实验带您体验如何使用ACK Auto Mode集群(智能托管模式)中快速部署一个工作负载。
场景简介
本教程介绍如何在ACK Auto Mode集群(智能托管模式)中快速部署一个工作负载,集群中节点自动扩容,应用通过SLB Service实现公网访问。更多关于智能托管模式内容,详情请参见智能托管模式介绍,了解其功能特性和使用场景。
前往开发者社区,参与话题讨论,在评论区留下你的想法与建议,赢取精美礼品。

实验流程

费用说明
本实验时长1个小时,预计产生费用为6.74元,为保障实验顺利进行,请确保账户余额高于100元。如果您调整了资源规格、使用时长,或执行了本方案以外的操作,可能导致费用发生变化,请以控制台显示的实际价格和最终账单为准。
本场景资源不会自动释放,若无需保留资源,请参考手册手动删除资源,以免产生额外费用。
使用ACK集群所产生的费用包括以下几部分:
ACK Pro集群费用,由ACK云产品收取。
创建工作负载使用的ECS节点,由ECS云产品收取。
使用的其他阿里云云产品资源费用,按照各云产品规定的计费规则计费,由各云产品收取。
背景知识
本场景主要涉及以下云产品和服务:
开通容器服务并为角色授权
在创建ACK集群之前,您需要免费开通相应服务。如果您在创建ACK集群前没有开通容器服务ACK,可能会导致集群无法创建或创建失败。建议您按照以下操作开通容器服务,并为容器服务默认角色授权。
首次使用时,您需要开通容器服务ACK,并为其授权相应云资源的访问权限。如果您的阿里云账号已开通过容器服务器ACK并且已完成角色授权,请跳过此小节步骤。
开通容器服务ACK。
首次开通容器服务ACK时,您需要登录容器服务ACK开通页面,集群类型选择ACK Pro版,单击立即开通。

角色授权。
首次登录容器服务ACK时,为了您账号的ACK集群云资源的访问安全,您需要同意授权阿里云账号创建容器服务默认角色,授权该默认角色是为了确保ACK能够正常调用相关的云服务资源,从而实现集群的创建、管理和维护等功能。角色授权操作步骤如下。
登录容器服务管理控制台,单击前往RAM进行授权进入云资源访问授权页面,然后单击同意授权。完成以上授权后,刷新控制台即可使用。

创建ACK Auto Mode集群
本步骤介绍如何通过配置主要参数快速创建一个ACK Auto Mode集群。
登录容器服务管理控制台。
在集群列表页面,单击创建集群。

在ACK托管集群页面,根据如下说明配置参数,未提及的参数保持默认即可,单击下一步:组件配置。
配置项
说明
示例
智能托管模式
创建ACK托管集群时,您可以选择开启智能托管模式。开启后,您仅需进行简单的网络规划配置,即可快速创建一个符合最佳实践的Kubernetes集群。
选择开启智能托管。
集群名称
自定义集群的名称。
auto-mode-demo
地域
集群所在的开服地域。所选地域与用户和资源部署地域的距离越近,网络时延越低,访问速度越快。
华东1(杭州)
专有网络
配置集群的专有网络VPC。支持指定可用区自动新建一个VPC,也可以在已有VPC列表中选择已创建的VPC。
选择自动创建,并勾选为专有网络配置SNAT。

在确认配置页面,确认所选配置,待依赖检查全部通过后,单击创建集群。

在创建集群页面,单击返回集群列表。

在集群列表页面,请您耐心等待集群创建,集群创建时间一般约为5分钟。当集群状态变为运行中时,表示已成功创建ACK Auto Mode集群。

使用ACK Auto Mode集群控制台部署Nginx应用并创建Service
本步骤指导您部署一个名为my-nginx的Nginx示例Deployment,以及一个名为my-nginx-svc的SLB Service来公开该应用。
Deployment应用:副本数为2,镜像使用Nginx示例应用,暴露80端口以接收HTTP网络流量,Pending Pod将会自动触发节点扩容。
Service服务:Service类型为LoadBalancer,暴露SLB Service端口80。
ACK Auto Mode集群中用户无需关注节点的弹性伸缩和运维,所以创建集群后可直接部署应用,节点会按照Pending Pod自动扩容。
在集群列表页面,单击目标集群名称(即auto-mode-demo)。

在左侧导航栏,选择。

在无状态页面,单击使用YAML创建资源。

在创建页面,将如下的YAML内容复制并粘贴至模板中,单击页面下方的创建。
apiVersion: apps/v1 kind: Deployment metadata: name: my-nginx labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6 ports: - containerPort: 80 resources: requests: cpu: 4 memory: 8Gi --- apiVersion: v1 kind: Service metadata: labels: app: nginx name: my-nginx-svc spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: app: nginx type: LoadBalancer
在创建页面,单击
图标,返回至上一页。
查看负载的创建进度,观察节点自动扩容的过程,当Pod进入Running状态后表示Pod已经完成启动。
在无状态页面,可以查看负载的创建进度。

在左侧导航栏中,选择。

在节点页面,观察my-nginx Pending Pod触发节点自动扩容,两个节点在启动过程中。

等待两个新扩容的节点的状态变为就绪,然后在左侧导航栏中,选择。

在无状态页面,可以查看到my-nginx应用的Pod状态全部变为Running。

访问Nginx应用服务
本步骤指导您如何访问刚才搭建的Nginx服务。
在左侧导航栏中,选择。

在服务页面,找到my-nginx-svc服务对应的外部IP地址。

在本地电脑的浏览器地址栏中,输入外部IP地址,即可访问搭建的Nginx公网服务。

清理资源
在完成实验后,如果无需继续使用资源,请根据以下步骤,先删除ACK Auto Mode集群,再结束实操。
重要若未删除ACK Auto Mode集群后就结束实操,ACK Auto Mode集群将会继续进行计费。
前往容器服务管理控制台。
在集群列表页面,找到目标集群(即auto-mode-demo),选择其右侧操作列下的。

在弹出的对话框中,关闭集群删除保护开关,单击确定。

在集群列表页面,找到目标集群(即auto-mode-demo),选择其右侧操作列下的。

在删除集群auto-mode-demo及关联资源面板,选择集群关联的所有资源,单击删除。

在确认删除集群对话框中,输入集群名称,勾选我已知晓以上信息并确认删除集群,单击确定删除。

ACK Auto Mode集群删除需要耗时3~5分钟,请务必等资源删除完成后再结束实验。

删除相关资源后,选择不保留资源,单击结束实操。在结束实操对话框中,单击确定。

在完成实验后,如果需要继续使用资源,选择付费保留资源,单击结束实操。在结束实操对话框中,单击确定。请随时关注账户扣费情况,避免发生欠费。









图标,返回至上一页。















