如果您需要通過設定檔方式快速建立、管理伸縮組,則可以通過調用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程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
ess:ApplyScalingGroup |
create |
*全部資源
|
無 | 無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| 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 |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
Schema of Response |
||
| RequestId |
string |
請求 ID。 |
CC107349-57B7-4405-B1BF-9BF5AF7F**** |
| ScalingGroupId |
string |
生效伸縮組的 ID。 |
asg-bp1igpak5ft1flyp**** |
樣本
正常返回樣本
JSON格式
{
"RequestId": "CC107349-57B7-4405-B1BF-9BF5AF7F****",
"ScalingGroupId": "asg-bp1igpak5ft1flyp****"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。