详情页标题前

阿里云容器服务ACKECI Pod Annotation-云淘科技

详情页1

在Kubernetes集群中创建ECI类型的Pod(即ECI实例)时,为充分使用ECI提供的功能,在不改变Kubernetes语义的前提下,您可以根据需求为Pod添加Annotation。 本文为您介绍ECI实例支持的和追加的Annotation及其配置示例。

ECI Pod支持的Annotation

创建ECI Pod时,支持添加的Annotation如下表所示。

重要

  • 下表列举的Annotation仅适用于创建到虚拟节点上的Pod,即ECI实例,调度到普通节点上的Pod不受这些Annotation影响。

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

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

参数

示例值

描述

相关文档

k8s.aliyun.com/eci-security-group

sg-bp1dktddjsg5nktv****

指定安全组ID。要求如下:

  • 支持指定一个或多个安全组,最多可以指定5个安全组。

  • 指定的安全组必须属于同一VPC。

  • 指定的安全组的类型必须相同。

配置安全组

k8s.aliyun.com/eci-vswitch

vsw-bp1xpiowfm5vo8o3c****

指定交换机ID,支持指定多个交换机实现多可用区功能。

多可用区创建Pod

k8s.aliyun.com/eci-schedule-strategy

VSwitchOrdered

多可用区调度策略。取值范围:

  • VSwitchOrdered:按顺序

  • VSwitchRandom:随机

k8s.aliyun.com/eci-use-specs

2-4Gi,4-8Gi,ecs.c6.xlarge

指定ECI实例规格,支持指定多规格,包括指定vCPU和内存,或者ECS规格。

  • 多规格创建Pod

  • 指定vCPU和内存创建Pod

  • 指定ECS规格创建Pod

k8s.aliyun.com/eci-gpu-driver-version

tesla=525.85.12

指定GPU驱动版本。

创建GPU实例时,如果指定了支持多个驱动和CUDA版本的GPU规格,可配置该Annotation指定驱动和CUDA版本。

创建GPU实例

k8s.aliyun.com/eci-instance-family

“ecs.c6,ecs.g6”

指定vCPU和内存创建ECI实例时,支持指定或排除ECS规格族。

指定或排除ECS规格族创建Pod

k8s.aliyun.com/eci-instance-generation

“6,5”

指定vCPU和内存创建ECI实例时,支持指定或排除ECS规格代数。

指定或排除ECS规格代数创建Pod

k8s.aliyun.com/eci-spot-strategy

SpotAsPriceGo

抢占式实例的出价策略。可根据需要配置为:

  • SpotWithPriceLimit:自定义设置抢占实例价格上限。此时必须设置k8s.aliyun.com/eci-spot-price-limit。

  • SpotAsPriceGo:系统自动出价,跟随当前市场实际价格。

创建抢占式实例

k8s.aliyun.com/eci-spot-price-limit

“0.5”

抢占式实例的每小时价格上限,最多支持精确到小数点后三位。

仅当k8s.aliyun.com/eci-spot-strategy设置为SpotWithPriceLimit时有效。

k8s.aliyun.com/eci-spot-duration

“0”

抢占式实例的保护期。默认为1,可设置为0,表示无保护期。

k8s.aliyun.com/eci-spot-fallback

“true”

抢占式实例没有库存时,是否自动转为按量付费。默认为false。

k8s.aliyun.com/eci-privatepool-matchcriteria

open

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

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

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

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

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无效。

k8s.aliyun.com/eci-cpu-option-core

“2”

CPU物理核心数。

自定义CPU选项

k8s.aliyun.com/eci-cpu-option-ht

“1”

每核线程数。

k8s.aliyun.com/eci-custom-tags

“env:test,name:alice”

绑定的标签(Tag)字符串,最多可以绑定3个标签。标签键和标签值之间用半角冒号隔开,多个标签之间用半角逗号隔开。

绑定自定义标签

k8s.aliyun.com/eci-ram-role-name

AliyunECIContainerGroupRole

绑定RAM角色,赋予ECI访问阿里云产品的能力。

绑定RAM角色

k8s.aliyun.com/eci-fail-strategy

fail-back

Pod故障处理策略,取值如下:

  • fail-back:失败自动恢复。即Pod创建失败后自动尝试重新创建。

  • fail-over:失败转移。效果等同于fail-back。

  • fail-fast:快速失败。即Pod创建失败后直接报错。

设置Pod故障处理策略

k8s.aliyun.com/eci-custom-hosts

“[{\”host\”:\”example.com\”,\”ip\”:\”100.100.XX.XX\”},{\”host\”:\”aliyundoc.com\”,\”ip\”:\”100.100.XX.XX\”}]”

自定义设置Pod的hosts(即/etc/hosts)。

自定义设置Pod的hosts

k8s.aliyun.com/eci-auto-imc

“true”

配置为true表示自动匹配镜像缓存。

使用ImageCache加速创建Pod

k8s.aliyun.com/imc-perfect-match

“true”

自动匹配镜像缓存时,Pod内所有容器镜像是否均要完全匹配。

k8s.aliyun.com/imc-match-count-request

“2”

自动匹配镜像缓存时,Pod内要完全匹配的容器镜像个数。

k8s.aliyun.com/eci-imc-id

imc-2zebxkiifuyzzlhl****

指定镜像缓存ID。

k8s.aliyun.com/acr-instance-ids

cri-j36zhodptmyq****

指定ACR企业版实例,用于免密拉取镜像。

支持跨地域指定ACR企业版实例,此时需在实例ID前加上所属地域,例如"cn-beijng:cri-j36zhodptmyq****"

免密拉取ACR镜像

k8s.aliyun.com/acr-service-arns

acs:ram::1609982529******:role/role-assume

ECI资源归属账号下的RAM角色的ARN。

指定RAM角色创建资源时需配置。

k8s.aliyun.com/acr-user-arns

acs:ram::1298452580******:role/role-acr

ACR实例归属账号下的RAM角色的ARN。

跨账号拉取ACR镜像时需配置。

k8s.aliyun.com/eci-data-cache-bucket

default

指定DataCache的Bucket。使用DataCache创建Pod时必须配置。

使用DataCache创建Pod

k8s.aliyun.com/eci-data-cache-pl

PL1

基于DataCache创建的云盘的性能等级。默认使用ESSD云盘,性能等级默认为PL1。

k8s.aliyun.com/eci-data-cache-provisionedIops

“40000”

ESSD AutoPL云盘预配置的读写IOPS。取值范围:0~min{50000, 1000 * 容量-基准性能}。基准性能=min{1800+50 * 容量, 50000}。更多信息,请参见ESSD AutoPL云盘。

如果添加了该Annotation,则基于DataCache创建的云盘类型为ESSD AutoPL云盘。

k8s.aliyun.com/eci-data-cache-burstingEnabled

“true”

ESSD AutoPL云盘是否开启Burst(性能突发)。更多信息,请参见ESSD AutoPL云盘。

如果添加了该Annotation,则基于DataCache创建的云盘类型为ESSD AutoPL云盘。

k8s.aliyun.com/eci-eip-instanceid

eip-bp1q5n8cq4p7f6dzu****

绑定的EIP实例ID。

为ECI实例绑定EIP

k8s.aliyun.com/eci-with-eip

“true”

配置为true表示自动创建并绑定EIP。

k8s.aliyun.com/eip-bandwidth

“5”

设置EIP带宽。单位为Mbps。默认为5 Mbps。

k8s.aliyun.com/eip-common-bandwidth-package-id

cbwp-2zeukbj916scmj51m****

绑定已有的共享带宽包ID。更多信息,请参见共享带宽。

k8s.aliyun.com/eip-isp

BGP

EIP线路类型,仅按量付费的EIP支持指定。取值范围:

  • BGP:BGP(多线)线路

  • BGP_PRO:BGP(多线)精品线路

更多信息,请参见EIP线路类型。

k8s.aliyun.com/eip-internet-charge-type

PayByBandwidth

EIP的计量方式。取值范围:

  • PayByBandwidth:按带宽计费

  • PayByTraffic:按流量计费

更多信息,请参见EIP计费方式。

k8s.aliyun.com/eip-public-ip-address-pool-id

pippool-bp187arfugi543y1s****

IP地址池ID。 EIP将从该IP地址池中分配。更多信息,请参见创建和管理IP地址池。

k8s.aliyun.com/eci-enable-ipv6

“true”

配置为true表示为Pod绑定一个IPv6地址。

配置IPv6地址

k8s.aliyun.com/eci-ipv6-bandwidth-enable

“true”

配置为true表示开通ECI的IPv6公网通信能力。

k8s.aliyun.com/eci-ipv6-bandwidth

100M

IPv6地址的公网带宽峰值。

k8s.aliyun.com/eci-private-ip-address

“172.16.0.1”

指定Pod的私网IP地址。目前仅支持指定IPv4地址,请确保该IP地址没有被占用。

指定ECI Pod的私网IP地址

k8s.aliyun.com/eci-fixed-ip

“true”

配置为true表示Pod启用固定IP地址。

配置ECI Pod使用固定IP地址

k8s.aliyun.com/eci-fixed-ip-retain-hour

“24”

IP地址空闲后的保留时长,即启用固定IP地址的Pod释放后,对应IP地址的保留时长,单位为小时。

如果没有配置该Annotation,默认保留48小时。

kubernetes.io/ingress-bandwidth

40M

入方向带宽。

配置ECI Pod带宽限速

kubernetes.io/egress-bandwidth

20M

出方向带宽。

k8s.aliyun.com/eci-extra-ephemeral-storage

50Gi

临时存储空间大小。

自定义临时存储空间大小

k8s.aliyun.com/eci-eviction-enable

“true”

配置为true表示系统会自动驱逐临时存储空间不足的ECI Pod。

设置自动驱逐临时存储空间不足的Pod

k8s.aliyun.com/eci-core-pattern

/pod/data/dump/core

Core dump文件保存目录。

查看Core dump文件

k8s.aliyun.com/eci-ntp-server

100.100.*.*

NTP Server。

为Pod配置NTP服务

k8s.aliyun.com/plain-http-registry

harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80

使用HTTP协议的自建镜像仓库中的镜像创建ECI实例时,需配置该Annotation,使得ECI使用HTTP协议拉取镜像,避免因协议不同而导致镜像拉取失败。

使用自建镜像仓库

k8s.aliyun.com/insecure-registry

harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80

使用自签发证书的自建镜像仓库中的镜像创建ECI实例时,需配置该Annotation来跳过证书认证,避免因证书认证失败而导致镜像拉取失败。

k8s.aliyun.com/eci-sls-enable

“false”

配置为false表示关闭日志采集功能。

通过SLS CRD方式采集日志时,如果某些Pod不需要采集日志,可配置该Annotation来关闭日志采集功能,避免系统自动创建Logtail而造成资源浪费。

通过SLS CRD方式采集日志

ECI Pod追加的Annotation

ECI Pod调度完成后会追加的Annotation如下表所示。您可以通过kubectl describe命令进行查询。

参数

示例值

描述

k8s.aliyun.com/eci-request-id

45942504-4688-51BA-BBAB-4B692C4F39C0

请求ID。

k8s.aliyun.com/eci-instance-id

eci-2ze1y0la40qgva09****

ECI实例ID。

k8s.aliyun.com/eci-instance-spec

2.0-4.0Gi

ECI实例规格,即实际计费规格。

  • 如果返回值是具体的vCPU和内存数值(如2.0-4.0Gi),则按vCPU和内存计费。

  • 如果返回值是ECS规格(如ecs.c6.large),则按ECS规格计费。

k8s.aliyun.com/allocated-eipInstanceId

eip-bp1q5n8cq4p7f6dzu****

绑定的EIP实例ID。

k8s.aliyun.com/allocated-eipAddress

47.99.**.**

绑定的EIP实例的IP地址。

k8s.aliyun.com/allocated-ipv6Address

2001:d**:1:1:1:1:1:1

绑定的IPv6地址。

k8s.aliyun.com/eci-created-by-template

true

是否使用模板创建。

k8s.aliyun.com/eni-instance-id

eni-2ze6d7oo5ukqj26o****

绑定的网卡ID。

k8s.aliyun.com/eci-vpc

vpc-2zeghwzptn5zii0w7****

所属VPC。

k8s.aliyun.com/eci-matched-image-cache

imc-2zedy3v37800iimu****

匹配的镜像缓存ID。

k8s.aliyun.com/eci-schedule-result

finished

调度结果。

设置ECI重调度

调度Pod到虚拟节点时,可能会碰到调度失败的情况,您可以通过添加Annotation的方式为Pod开启重调度,即使异步调度失败了,仍会一直保持调度,不返回失败。

配置示例如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: set-eci
  labels:
    app: vk
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
        annotations: 
            k8s.aliyun.com/eci-reschedule-enable: "true"    #开启ECI重调度。
        labels:
            app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
      nodeName: virtual-kubelet

Pod创建失败置为Failed

默认情况下,每个Pod在创建时,如果遇到错误,会重试一定次数,如果还是Failed,则Pod会处于Pending状态。对于一些Job类型的任务,您可能希望直接体现Failed状态。此时,您可以通过添加Annotation的方式,设置Pod遇到创建失败时,体现Failed状态。

配置示例如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: set-pod-fail-on-create-err
  labels:
    app: vk
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
        annotations: 
            k8s.aliyun.com/pod-fail-on-create-err: "true"  #设置Pod创建失败时,状态为Failed。
        labels:
            app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
      nodeName: virtual-kubelet

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/158622.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云容器服务ACKServerless数据访问概述-云淘科技

    Serverless云平台提供的极致弹性能力,为相关基础设施带来巨大的压力和挑战,因此阿里云容器服务联合多个产品,提供以ECI为例的数据访问优化方案。本文介绍Serverless数据访问面临的挑战以及数据访问优化方案。 Serverless数据访问面临的挑战 Serverless云平台为用户提供秒级弹性的核心能力,包括资源和应用(业务)等的秒级弹性,即用户开…

    2023年12月10日
  • 阿里云容器服务ACK在Knative中使用ECI-云淘科技

    通过Knative和虚拟节点组件使用弹性容器实例ECI(Elastic Container Instance),可以实现按需使用资源。本文介绍如何在Knative中使用ECI。 前提条件 已创建ACK Serverless集群或ACK托管集群。具体操作,请参见创建ACK Serverless集群、创建Kubernetes托管版集群。 已为集群部署Knativ…

    阿里云容器服务 2023年12月10日
  • 阿里云ECS云服务器Workbench服务关联角色-云淘科技

    本文介绍Workbench服务关联角色AliyunServiceRoleForECSWorkbench以及如何删除该角色。 背景信息 Workbench服务关联角色AliyunServiceRoleForECSWorkbench是访问控制提供的一种服务关联角色。通过AliyunServiceRoleForECSWorkbench,Workbench可以获得云…

    阿里云服务器 2023年12月9日
  • 阿里云容器服务ACK通过Annotation配置传统型负载均衡CLB-云淘科技

    通过Service YAML文件中的Annotation(注解),可以实现丰富的负载均衡功能。本文从CLB、监听和后端服务器组三种资源维度介绍通过注解可以对CLB进行的常见配置操作。 索引 主要内容 跳转链接 注解使用说明 CLB的典型操作 创建一个公网类型的负载均衡 创建一个私网类型的负载均衡 指定负载均衡规格 使用已有的负载均衡 使用已有的负载均衡,并强…

    阿里云容器服务 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云容器服务ACKECI Pod Annotation-云淘科技

    在Kubernetes集群中创建ECI类型的Pod(即ECI实例)时,为充分使用ECI提供的功能,在不改变Kubernetes语义的前提下,您可以根据需求为Pod添加Annotation。 本文为您介绍ECI实例支持的和追加的Annotation及其配置示例。 ECI Pod支持的Annotation 创建ECI Pod时,支持添加的Annotation如下…

    阿里云容器服务 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。