使用弹性保障的私有资源池创建Pod

弹性保障可以为按量付费的资源需求提供资源确定性保障。如果您的业务在某一时间段必须要使用一定数量的特定ECS规格的ECI实例,建议您购买弹性保障来获得资源确定性保障,避免因库存不足导致实例创建失败,进而影响业务。

弹性保障介绍

功能简介

通过弹性保障,您只需要支付一笔较低的保障费用,即可换取固定周期(支持1个月~5年)的资源确定性保障。购买弹性保障时设置地域可用区、实例规格等属性,系统会以私有池的方式预留属性相匹配的资源。例如:在华东1(杭州)可用区I预留ecs.c6.large规格的实例,在保障期内,随时可以在华东1(杭州)可用区I创建指定ecs.c6.large规格的ECI实例。更多关于弹性保障的信息,请参见弹性保障概述

说明

不支持为创建抢占式实例提供保障。

计费说明

购买弹性保障后不能手动释放。使用弹性保障过程中,您需要支付以下费用:

  • 购买弹性保障时,需一次性支付保障费用。

  • 使用弹性保障对应的私有资源池成功创建ECI实例后,需支付ECI实例的小时账单。

    重要

    弹性保障对应的私有资源池所创建的ECI实例仍然可以匹配已有节省计划和地域级预留实例券来抵扣实例账单,但不支持匹配可用区级预留实例券。

购买弹性保障

  • 购买前

    弹性保障对应的私有资源池仅支持用于创建指定ECS规格的ECI实例。购买前,请先确认您想要的地域可用区和ECS规格支持弹性保障。

    • ECI仅支持指定部分ECS规格,请确保选择的ECS规格能够满足您的业务需求。更多信息,请参见规格说明

    • 仅部分地域可用区、实例规格支持弹性保障。具体请参见弹性保障售卖页

  • 购买时

    ECS管理控制台的资源预定页面创建资源预定,预定方式选择弹性保障,即可购买弹性保障。具体操作,请参见购买资源预定

  • 购买后

    购买成功后,在资源预定页面的资源预定或者私有资源池页签下,可以查看弹性保障以及关联的私有池信息。

使用弹性保障

配置说明

在保障期内,您可以使用弹性保障对应的私有资源池来创建ECI实例。

  • 创建前,请先确认集群配置的交换机所对应的可用区,已包含弹性保障对应的可用区。关于如何配置可用区,请参见多可用区创建Pod

  • 创建时,指定的私有资源池和ECS规格,需要与购买的弹性保障一致。相关Annotation如下:

    Annotation

    示例值

    是否必选

    说明

    k8s.aliyun.com/eci-use-specs

    ecs.c6.large

    指定ECS规格。该规格需要与弹性保障对应的ECS规格一致。

    说明

    除了指定规格外,GPU、本地盘等特殊规格还需配置相关参数。具体请参见指定ECS规格创建Pod

    k8s.aliyun.com/eci-privatepool-matchcriteria

    "Open"

    配置私有池的匹配模式。取值范围:

    • Open:开放模式。该模式下系统自动为实例匹配开放的私有池。

    • Target:指定模式。该模式下必须同时指定私有池ID。当私有池类型为专有时,必须使用该模式。

    重要

    Open模式下,私有池如果资源不足,会自动使用公共池的资源进行补齐;Target模式下,私有池如果资源不足,会导致ECI实例创建失败。

    k8s.aliyun.com/eci-privatepool-id

    eap-2ze1g68k2melxkkl****

    指定私有池ID(即弹性保障ID)。您可以在ECS管理控制台的资源预定页面资源预定或者私有资源池页签下获取。

    • 当k8s.aliyun.com/eci-privatepool-matchcriteria配置为Target时,必须配置该Annotation。

    • 当k8s.aliyun.com/eci-privatepool-matchcriteria配置为Open时,该Annotation无效。

    重要
    • Annotation请添加在Pod的metadata下,例如:创建Deployment时,Annotation需添加在spec>template>metadata下。

    • 仅支持在创建ECI Pod时添加ECI相关Annotation来生效ECI功能,更新ECI Pod时添加或者修改ECI相关Annotation均不会生效。

  • 创建后,在ECS管理控制台的资源预定页面资源预定或者私有资源池页签下,可以查看弹性保障对应的私有资源池的使用情况。

    资源预订..png

    说明

    使用弹性保障的ECI Pod释放后,对应私有池的容量会同步释放。

配置示例

  • 示例一:不指定弹性保障ID,系统自动匹配开放的私有池

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test
      labels:
        app: test
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx-test
          labels:
            app: nginx
            alibabacloud.com/eci: "true" 
          annotations:
            k8s.aliyun.com/eci-use-specs: ecs.c6.large  #指定弹性保障对应的ECS规格
            k8s.aliyun.com/eci-privatepool-matchcriteria: open  #配置私有池的匹配模式为开放模式,系统自动匹配开放的私有池
        spec:
          containers:
          - name: nginx
            image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
            ports:
            - containerPort: 80
  • 示例二:弹性保障对应私有池类型为专有,必须指定弹性保障ID

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test
      labels:
        app: test
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx-test
          labels:
            app: nginx
            alibabacloud.com/eci: "true" 
          annotations:
            k8s.aliyun.com/eci-use-specs: ecs.c6.large  #指定弹性保障对应的ECS规格
            k8s.aliyun.com/eci-privatepool-matchcriteria: target  #配置私有池的匹配模式为指定模式
            k8s.aliyun.com/eci-privatepool-id: eap-2ze1g68k2melxkkl**** #指定私有池ID(即弹性保障ID)
        spec:
          containers:
          - name: nginx
            image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
            ports:
            - containerPort: 80