如果您需要通過配置文件方式快速創建、管理伸縮組,則可以通過調用API ApplyScalingGroup來創建和管理伸縮組。
接口說明
ApplyScalingGroup 目前支持 Kubernetes Deployment 資源定義格式快速創建 ECI 伸縮組。同時支持 ECI 對 Kubernetes YAML 拓展 annotation,詳情參考《支持 annotation 列表》。
YAML 配置與伸縮組映射關系:通過 YAML 定義中的 namespace、kind、name 三元組映射伸縮組 name。一個 region 下同一個 YAML 配置只能映射同一個伸縮組。示例:如果使用默認 namespace 下 name 為 nginx 的 Deployment YAML 配置,則映射同 region 下名稱為 k8s_default_Deployment_nginx 伸縮組。
基于 YAML 配置管理伸縮組邏輯:
- 當 YAML 配置映射伸縮組存在時,會基于 YAML 配置更新伸縮組;
- 當 YAML 配置映射伸縮組不存在時,會基于 YAML 配置創建對應伸縮組。
注意事項
- 當 YAML 配置未指定專有網絡、vSwitch、安全組 annotation 時,系統會自動創建默認 VPC,在該 VPC 下創建默認交換機,以及 ESS 默認安全組 ess-default-sg。其中安全組策略默認開放 TCP 協議的 22、3389 端口以及 ICMP(IPv4)協議,如果用戶有其他端口協議需求,可以另行調整安全組策略。
- 當使用公網鏡像時,需配置開啟公網訪問能力,設置 k8s.aliyun.com/eci-with-eip pod annotation 開啟 eip。
- ApplyScalingGroup 應用 YAML 配置后,伸縮組、伸縮配置會立即生效,如果指定 replicas > 0 時,會自動創建資源。
支持的 annotation 列表
annotation 參考自ECI Pod Annotation 。
參數 | 示例值 | 說明 |
---|---|---|
k8s.aliyun.com/ess-scaling-group-min-size | 1 | 伸縮組最小值。默認值 0。 |
k8s.aliyun.com/ess-scaling-group-max-size | 20 | 伸縮組最大值。默認為 max(replicas, 30)。 |
k8s.aliyun.com/eci-ntp-server | 100.100.. | NTP Server。 |
k8s.aliyun.com/eci-use-specs | 2-4Gi | 2 核 4G 規格配置。更多信息,請參見多規格創建 Pod。 |
k8s.aliyun.com/eci-vswitch | vsw-bp1xpiowfm5vo8o3c**** | 指定交換機 ID,支持指定多個交換機實現多可用區功能。 |
k8s.aliyun.com/eci-security-group | sg-bp1dktddjsg5nktv**** | 指定安全組 ID。要求如下:
|
k8s.aliyun.com/eci-sls-enable | "false" | 配置為 false 表示關閉日志采集功能。 通過 SLS CRD 方式采集日志時,如果某些 Pod 不需要采集日志,可配置該 Annotation 來關閉日志采集功能,避免系統自動創建 Logtail 而造成資源浪費。 |
k8s.aliyun.com/eci-spot-strategy | SpotAsPriceGo | 搶占式實例的出價策略。可根據需要配置為:
|
k8s.aliyun.com/eci-spot-price-limit | "0.5" | 搶占式實例的每小時價格上限,最多支持精確到小數點后三位。 僅當 k8s.aliyun.com/eci-spot-strategy 設置為 SpotWithPriceLimit 時有效。 |
k8s.aliyun.com/eci-with-eip | "true" | 配置為 true 表示自動創建并綁定 EIP。 |
k8s.aliyun.com/eci-data-cache-bucket | default | 指定 DataCache 的 Bucket。使用 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-custom-tags | "env:test,name:alice" | 綁定的標簽(Tag)字符串,最多可以綁定 3 個標簽。標簽鍵和標簽值之間用半角冒號隔開,多個標簽之間用半角逗號隔開。 |
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權信息
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
Content | string | 是 | 配置文件內容。 | apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx annotations: k8s.aliyun.com/eip-bandwidth: 10 k8s.aliyun.com/eci-with-eip: true spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80 |
RegionId | string | 否 | 所屬地域的 ID。 | cn-hangzhou |
Format | string | 否 | 可選,默認值 YAML,當前僅支持 YAML 格式。 | YAML |
返回參數
示例
正常返回示例
JSON
格式
{
"RequestId": "CC107349-57B7-4405-B1BF-9BF5AF7F****",
"ScalingGroupId": "asg-bp1igpak5ft1flyp****"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|