如果您需要透過設定檔方式快速建立和管理ECI類型的伸縮群組,則可以透過呼叫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 設定未指定 VPC、vSwitch、安全性群組 annotation 時,系統會自動建立預設 VPC,在該 VPC 下會建立預設交換器,以及建立彈性伸縮的預設安全性群組(
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 核心 4 G 規格設定。更多資訊,請參見多規格建立 Pod。 |
| k8s.aliyun.com/eci-vswitch | vsw-bp1xpiowfm5vo8o3c**** | 指定交換器 ID,支援指定多個交換器實現多可用區功能。 |
| k8s.aliyun.com/eci-security-group | sg-bp1dktddjsg5nktv**** | 指定安全性群組 ID。要求如下:支援指定一個或多個安全性群組,最多可以指定 5 個安全性群組;指定的安全性群組必須屬於同一 VPC;指定的安全性群組的類型必須相同。 |
| k8s.aliyun.com/eci-sls-enable | "false" | 設定為 false 表示關閉日誌採集功能。透過 SLS CRD 方式採集日誌時,如果某些 Pod 不需要採集日誌,可設定該 Annotation 來關閉日誌採集功能,避免系統自動建立 Logtail 而造成資源浪費。 |
| 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-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 |
*All Resource
|
無 | 無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| ClientToken |
string |
否 |
保證請求冪等性。從您的用戶端產生一個參數值,確保不同請求間該參數值唯一。只支援 ASCII 字元,且不能超過 64 個字元。更多資訊,請參見如何保證冪等性。 |
123e4567-e89b-12d3-a456-42665544**** |
| 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****"
}
錯誤碼
|
HTTP status code |
錯誤碼 |
錯誤資訊 |
描述 |
|---|---|---|---|
| 400 | IdempotentParameterMismatch | The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical. |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。