在Kubernetes集群中創建ECI類型的Pod(即ECI實例)時,為充分使用ECI提供的功能,在不改變Kubernetes語義的前提下,您可以根據需求為Pod添加Annotation。本文為您介紹創建ECI Pod時支持添加的Annotation,以及ECI Pod調度完成后會追加的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-use-specs | 2-4Gi,4-8Gi,ecs.c6.xlarge | 指定ECI實例規格,支持指定多規格,包括指定vCPU和內存,或者ECS規格。 | |
k8s.aliyun.com/eci-gpu-driver-version | tesla=525.85.12 | 指定GPU驅動版本。 創建GPU實例時,如果指定了支持多個驅動和CUDA版本的GPU規格,可配置該Annotation指定驅動和CUDA版本。 | |
k8s.aliyun.com/eci-instance-family | "ecs.c6,ecs.g6" | 指定vCPU和內存創建ECI實例時,支持指定或排除ECS規格族。 | |
k8s.aliyun.com/eci-instance-generation | "6,5" | 指定vCPU和內存創建ECI實例時,支持指定或排除ECS規格代數。 | |
k8s.aliyun.com/eci-spot-strategy | SpotAsPriceGo | 搶占式實例的出價策略??筛鶕枰渲脼椋?/p>
| |
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-auto-imc | "true" | 自動匹配鏡像緩存。 | |
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企業版實例ID。 支持跨地域指定ACR企業版實例,此時需在實例ID前加上所屬地域,例如 | |
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/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-security-group | sg-bp1dktddjsg5nktv**** | 指定安全組ID。要求如下:
| |
k8s.aliyun.com/eci-eip-instanceid | eip-bp1q5n8cq4p7f6dzu**** | 綁定的EIP實例ID。 | |
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支持指定。取值范圍:
更多信息,請參見EIP線路類型。 | |
k8s.aliyun.com/eip-internet-charge-type | PayByBandwidth | EIP的計量方式。取值范圍:
更多信息,請參見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地址。 | |
k8s.aliyun.com/eci-ipv6-bandwidth-enable | "true" | 配置為true表示開通ECI的IPv6公網通信能力。 | |
k8s.aliyun.com/eci-ipv6-bandwidth | 100M | IPv6地址的公網帶寬峰值。 | |
kubernetes.io/ingress-bandwidth | 40M | 入方向帶寬。 | |
kubernetes.io/egress-bandwidth | 20M | 出方向帶寬。 |
存儲
功能及相關文檔 | 參數 | 示例值 | 描述 |
k8s.aliyun.com/eci-extra-ephemeral-storage | 50Gi | 臨時存儲空間大小。 | |
k8s.aliyun.com/eci-eviction-enable | "true" | 是否自動驅逐臨時存儲空間不足的ECI Pod。 |
容器配置
功能及相關文檔 | 參數 | 示例值 | 描述 |
k8s.aliyun.com/eci-ntp-server | 100.100.*.* | 指定NTP服務器的地址。 |
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實例規格,即實際計費規格。
|
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 | 調度結果。該Annotation已棄用,請參考podStatus.condition ContainerInstanceCreated了解Pod調度結果。具體請參見ContainerInstanceCreated。 |