首页 弹性容器实例 快速入门 容器服务使用ECI

容器服务使用ECI

ECI已经无缝集成到阿里云容器服务Kubernetes版(ASK和ACK),您可以通过ASK或者ACK,快速体验ECI的容器运行能力。本文以ASK为例,介绍容器服务如何使用ECI。

准备工作

首次操作时,需完成服务开通和相关授权操作:

创建ASK集群

以下步骤仅介绍创建ASK集群时的基本配置,实际操作时,请根据业务需要设置相关参数和安装相应组件。更多信息,请参见创建ASK集群

  1. 打开创建集群页面。

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

    2. 在左侧导航栏,单击集群

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

  2. 在上方单击ASK集群页签,完成集群配置,然后单击下一步:组件配置

    需要注意的配置项说明如下,未提及的配置项请根据自身需求设置。

    配置项

    示例

    说明

    集群名称

    ask-test

    根据页面提示填写集群名称。

    地域

    华北2(北京)

    选择集群所属地域。

    专有网络

    自动创建

    设置集群所属的专有网络。

    • 自动创建:您需要选择可用区,ASK会自动创建一个VPC和一个属于该可用区的交换机,且会在VPC中自动创建NAT网关并配置SNAT规则。

    • 使用已有:选择已有的VPC和交换机。

    配置SNAT

    为专有网络配置SNAT

    当集群需要公网访问能力时,需配置SNAT。

    • 如果使用自动创建的专有网络,则会自动配置SNAT。

    • 如果使用已有专有网络,请根据需要选择是否配置SNAT。

    Service CIDR

    172.21.0.0/20

    您需要指定Service CIDR,网段不能与VPC及VPC内已有Kubernetes集群使用的网段重复,创建成功后不能修改。更多信息,请参见Kubernetes集群网络规划

    API Server访问

    • 简约型I(slb.s1.small)

    • 使用EIP暴露API Server

    ASK默认为API Server创建一个内网SLB实例,您可修改SLB实例规格。

    请根据需要设置是否使用EIP暴露API Server。API Server提供了各类资源对象(Pod,Service等)的增删改查及Watch等HTTP Rest接口。

    • 如果开启,ASK会创建一个EIP,并挂载到SLB上。此时,Kubernetes API服务(即API Server)会通过EIP的6443端口暴露出来,您可以在外网通过kubeconfig连接并操作集群。

    • 如果不开启,则不会创建EIP,您只能在VPC内部用kubeconfig连接并操作集群。

  3. 完成组件配置,然后单击下一步:确认配置

    默认情况下仅开启日志服务,请根据自身需求配置其它服务。

    ASK组件配置
  4. 确认配置信息,选中服务协议,单击创建集群

    返回集群列表页面,当集群状态为运行中时,表示集群创建完成。

在ASK集群中部署应用

以下步骤以Nginx为例,介绍如何在ASK集群中部署应用。

  1. 集群列表页面,找到目标ASK集群的名称,进入集群管理页面。

  2. 创建Deployment,用于部署Nginx应用。

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

    2. 单击右上角的使用YAML创建资源

    3. 根据需要修改模板中的YAML内容,然后单击创建

      默认选择了Resource-basic Deployment示例模板,该模板YAML声明创建的Deployment包含2个Pod,每个Pod带有app: nginx的Label,运行一个部署了Nginx应用的容器。

      说明

      示例模板中的image: nginx:1.7.9表示从Docker Hub拉取Nginx 1.7.9版本的镜像。如果您的集群没有配置公网访问,则无法拉取该镜像,请替换为VPC网络内的镜像,例如image: registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.14.2

      ASK示例模板
    4. 确认Deployment创建结果。

      • 无状态页面可以查看Deployment信息。

        容器组数量对应的2/2表示Deployment创建成功,包含的2个Pod已在运行中。

        ASK-deploy
      • 无状态页面,单击Deployment名称可以查看Deployment详细信息。

        容器组页签下可以看到2个Pod的状态均为运行中。单击Pod名称,可以查看Pod详细信息。

        ASK-deploy1
      • 每个Pod对应一个ECI实例,在弹性容器实例控制台容器组页面,您可以看到相应的ECI实例。

        ASK-eci
  3. 创建Service,配置Nginx应用的访问方式。

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

    2. 单击右上角的使用YAML创建资源

    3. 拷贝以下YAML,单击创建

      以下YAML创建了一个类型为LoadBalancer的Service,对外开放80端口,后端为带有app: nginx的Label的Pod(即上一步创建的Deployment中的Pod)。

      apiVersion: v1
      kind: Service
      metadata:
        name: nginx-service
      spec:
        ports:
        - port: 80
          protocol: TCP
        selector:
          app: nginx
        type: LoadBalancer
    4. 确认Service的创建结果。

      服务页面,单击Service名称可以查看Service详细信息。该Service已自动关联上一步创建的Deployment,后端端点为该Deployment中包含的2个Pod。

      ASK-service
  4. 访问Nginx应用。

    单击Service外部端点对应的IP地址:端口,即可访问Nginx应用。

    ASK-nginx
阿里云首页 弹性容器实例 相关技术圈