使用ACK Auto Mode集群快速部署Nginx工作负载

更新时间:
复制为 MD 格式

本实验带您体验如何使用ACK Auto Mode集群(智能托管模式)中快速部署一个工作负载。

场景简介

本教程介绍如何在ACK Auto Mode集群(智能托管模式)中快速部署一个工作负载,集群中节点自动扩容,应用通过SLB Service实现公网访问。更多关于智能托管模式内容,详情请参见智能托管模式介绍,了解其功能特性和使用场景。

前往开发者社区,参与话题讨论,在评论区留下你的想法与建议,赢取精美礼品。

image

实验流程

image

费用说明

本实验时长1个小时,预计产生费用为6.74元,为保障实验顺利进行,请确保账户余额高于100元。如果您调整了资源规格、使用时长,或执行了本方案以外的操作,可能导致费用发生变化,请以控制台显示的实际价格和最终账单为准。

本场景资源不会自动释放,若无需保留资源,请参考手册手动删除资源,以免产生额外费用。

使用ACK集群所产生的费用包括以下几部分:

  • ACK Pro集群费用,由ACK云产品收取。

  • 创建工作负载使用的ECS节点,由ECS云产品收取。

  • 使用的其他阿里云云产品资源费用,按照各云产品规定的计费规则计费,由各云产品收取。

背景知识

本场景主要涉及以下云产品和服务:

开通容器服务并为角色授权

在创建ACK集群之前,您需要免费开通相应服务。如果您在创建ACK集群前没有开通容器服务ACK,可能会导致集群无法创建或创建失败。建议您按照以下操作开通容器服务,并为容器服务默认角色授权

说明

首次使用时,您需要开通容器服务ACK,并为其授权相应云资源的访问权限。如果您的阿里云账号已开通过容器服务器ACK并且已完成角色授权,请跳过此小节步骤。

  1. 开通容器服务ACK。

    首次开通容器服务ACK时,您需要登录容器服务ACK开通页面集群类型选择ACK Pro,单击立即开通

    image

  2. 角色授权。

    首次登录容器服务ACK时,为了您账号的ACK集群云资源的访问安全,您需要同意授权阿里云账号创建容器服务默认角色,授权该默认角色是为了确保ACK能够正常调用相关的云服务资源,从而实现集群的创建、管理和维护等功能。角色授权操作步骤如下。

    登录容器服务管理控制台,单击前往RAM进行授权进入云资源访问授权页面,然后单击同意授权。完成以上授权后,刷新控制台即可使用。

    image

创建ACK Auto Mode集群

本步骤介绍如何通过配置主要参数快速创建一个ACK Auto Mode集群。

说明

智能托管模式仅支持ACK托管集群Pro,涉及集群管理费用和相关云产品费用,您可以在创建页面下方查看集群涉及的费用总览,也可以查看ACK和各产品的计费文档,请参见计费概述云产品资源费用

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

  2. 集群列表页面,单击创建集群

    image

  3. ACK托管集群页面,根据如下说明配置参数,未提及的参数保持默认即可,单击下一步:组件配置

    配置项

    说明

    示例

    智能托管模式

    创建ACK托管集群时,您可以选择开启智能托管模式。开启后,您仅需进行简单的网络规划配置,即可快速创建一个符合最佳实践的Kubernetes集群。

    选择开启智能托管。

    集群名称

    自定义集群的名称。

    auto-mode-demo

    地域

    集群所在的开服地域。所选地域与用户和资源部署地域的距离越近,网络时延越低,访问速度越快。

    华东1(杭州)

    专有网络

    配置集群的专有网络VPC。支持指定可用区自动新建一个VPC,也可以在已有VPC列表中选择已创建的VPC。

    选择自动创建,并勾选为专有网络配置SNAT。

    image

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

    image

  5. 创建集群页面,单击返回集群列表

    image

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

    image

使用ACK Auto Mode集群控制台部署Nginx应用并创建Service

本步骤指导您部署一个名为my-nginxNginx示例Deployment,以及一个名为my-nginx-svcSLB Service来公开该应用。

  • Deployment应用:副本数为2,镜像使用Nginx示例应用,暴露80端口以接收HTTP网络流量,Pending Pod将会自动触发节点扩容。

  • Service服务:Service类型为LoadBalancer,暴露SLB Service端口80。

说明

ACK Auto Mode集群中用户无需关注节点的弹性伸缩和运维,所以创建集群后可直接部署应用,节点会按照Pending Pod自动扩容。

  1. 集群列表页面,单击目标集群名称(即auto-mode-demo)。

    image

  2. 在左侧导航栏,选择工作负载 > 无状态

    image

  3. 无状态页面,单击使用YAML创建资源

    image

  4. 创建页面,将如下的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

    image

  5. 创建页面,单击image图标,返回至上一页。

    image

  6. 查看负载的创建进度,观察节点自动扩容的过程,当Pod进入Running状态后表示Pod已经完成启动。

    1. 无状态页面,可以查看负载的创建进度。

      image

    2. 在左侧导航栏中,选择节点管理 > 节点

      image

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

      image

    4. 等待两个新扩容的节点的状态变为就绪,然后在左侧导航栏中,选择工作负载 > 无状态

      image

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

      image

访问Nginx应用服务

本步骤指导您如何访问刚才搭建的Nginx服务。

  1. 在左侧导航栏中,选择网络 > 服务

    image

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

    image

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

    image

清理资源

  • 在完成实验后,如果无需继续使用资源,请根据以下步骤,先删除ACK Auto Mode集群,再结束实操。

    重要

    若未删除ACK Auto Mode集群后就结束实操,ACK Auto Mode集群将会继续进行计费。

    1. 前往容器服务管理控制台

    2. 集群列表页面,找到目标集群(即auto-mode-demo),选择其右侧操作列下的更多 > 关闭集群删除保护状态

      image

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

      image

    4. 集群列表页面,找到目标集群(即auto-mode-demo),选择其右侧操作列下的更多 > 删除

      image

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

      image

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

      image

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

      image

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

      image

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

    image