設定ファイルを使用して、Elastic Container Instance (ECI) ベースのスケーリンググループを作成および管理します。ApplyScalingGroup 操作の呼び出しにより、この機能を実装します。
操作説明
操作の説明
ApplyScalingGroup は、Kubernetes Deployment リソース定義フォーマットでの ECI ベースのスケーリンググループの迅速な作成をサポートします。ECI インスタンスは、Kubernetes YAML 拡張アノテーションもサポートしています。詳細については、本トピックの「サポートされているアノテーション」セクションを参照してください。
YAML 設定とスケーリンググループのマッピング: スケーリンググループ名は、YAML 設定で定義された namespace、kind、name の 3 つの組によってマッピングされます。同一リージョン内では、同じ YAML 設定は 1 つのスケーリンググループにのみマッピングできます。例:
デフォルト名前空間で name が nginx に設定された Deployment YAML 設定を使用する場合、同じリージョン内の k8s_default_Deployment_nginx という名前のスケーリンググループにマッピングされます。
YAML 設定に基づくスケーリンググループの管理ロジック:
YAML 設定によってマッピングされたスケーリンググループが存在する場合、スケーリンググループは YAML 設定に基づいて更新されます。
YAML 設定によってマッピングされたスケーリンググループが存在しない場合、YAML 設定に基づいてスケーリンググループが作成されます。
注意事項
YAML 設定で VPC、vSwitch、またはセキュリティグループのアノテーションが指定されていない場合、システムはデフォルト VPC、VPC 内のデフォルト vSwitch、およびデフォルト Auto Scaling セキュリティグループ (
ess-default-sg) を自動作成します。セキュリティグループポリシーは、デフォルトで TCP ポート 22 および 3389 と ICMP (IPv4) プロトコルを開放します。他のポートプロトコルが必要な場合は、それに応じてセキュリティグループポリシーを調整してください。パブリックイメージを使用する場合、パブリックネットワークアクセスを有効にする必要があります。
k8s.aliyun.com/eci-with-eip pod annotationを設定して、EIP 機能を有効にします。ApplyScalingGroup が YAML 設定を適用した後、スケーリンググループとスケーリング設定はすぐに有効になります。replicas が 0 より大きい値に設定されている場合、リソースの自動作成がトリガーされます。
サポートされているアノテーション
アノテーションの詳細については、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 サーバー。 |
| k8s.aliyun.com/eci-use-specs | 2-4Gi | 2 vCPU および 4 GiB メモリのスペック。詳細については、複数のスペックを持つ Pod の作成 を参照してください。 |
| k8s.aliyun.com/eci-vswitch | vsw-bp1xpiowfm5vo8o3c**** | vSwitch の ID。複数の vSwitch を指定して、マルチゾーン機能を実装できます。 |
| k8s.aliyun.com/eci-security-group | sg-bp1dktddjsg5nktv**** | セキュリティグループの ID。要件: 1 つ以上のセキュリティグループを指定でき、最大 5 つまで指定できます。指定されたセキュリティグループは同じ VPC に属している必要があります。指定されたセキュリティグループは同じタイプである必要があります。 |
| k8s.aliyun.com/eci-sls-enable | "false" | ログ収集機能を無効にするには、このパラメーターを false に設定します。SLS CRD を使用してログを収集する場合、特定の Pod でログ収集が不要な場合は、このアノテーションを設定してログ収集機能を無効にし、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" | スポットインスタンスの 1 時間あたりの最大価格。値は 10 進数 3 桁まで正確に指定できます。このパラメーターは、k8s.aliyun.com/eci-spot-strategy が SpotWithPriceLimit に設定されている場合にのみ有効です。 |
| k8s.aliyun.com/eci-with-eip | "true" | EIP を自動作成してアタッチするには、このパラメーターを true に設定します。 |
| k8s.aliyun.com/eci-data-cache-bucket | default | データキャッシュバケット。データキャッシュを使用して Pod を作成する場合、このパラメーターは必須です。 |
| k8s.aliyun.com/eci-data-cache-pl | PL1 | データキャッシュに基づいて作成されたクラウドディスクのパフォーマンスレベル (PL)。デフォルトでは ESSD が使用され、デフォルトの PL は PL1 です。 |
| k8s.aliyun.com/eci-data-cache-provisionedIops | "40000" | ESSD AutoPL クラウドディスクのプロビジョニングされた読み取り/書き込み IOPS。有効な値: 0 ~ min{50000, 1000 × capacity - ベースラインパフォーマンス}。ここで、ベースラインパフォーマンス = min{1800 + 50 × capacity, 50000} です。詳細については、ESSD AutoPL クラウドディスク を参照してください。このアノテーションが追加されると、データキャッシュに基づいて作成されたクラウドディスクは ESSD AutoPL クラウドディスクになります。 |
| k8s.aliyun.com/eci-data-cache-burstingEnabled | "true" | ESSD AutoPL クラウドディスクのバースト (バースト機能) を有効にするかどうかを指定します。詳細については、ESSD AutoPL クラウドディスク を参照してください。このアノテーションが追加されると、データキャッシュに基づいて作成されたクラウドディスクは ESSD AutoPL クラウドディスクになります。 |
| k8s.aliyun.com/eci-custom-tags | "env:test,name:alice" | アタッチするタグ文字列。最大 3 つのタグをアタッチできます。タグキーとタグ値はコロン (:) で区切り、複数のタグはカンマ (,) で区切ります。 |
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
ess:ApplyScalingGroup |
create |
*All Resource
|
なし | なし |
リクエストパラメーター
|
パラメーター |
型 |
必須 / 任意 |
説明 |
例 |
| ClientToken |
string |
任意 |
リクエストのべき等性を確保するために使用されるクライアントトークン。クライアントを使用してトークンを生成できますが、異なるリクエスト間でトークンが一意であることを確認する必要があります。トークンには ASCII 文字のみを使用でき、長さは 64 文字を超えることはできません。詳細については、How to ensure idempotence を参照してください。 |
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 アノテーション: k8s.aliyun.com/eip-bandwidth: 10 k8s.aliyun.com/eci-with-eip: true spec: コンテナ: - name: nginx イメージ: nginx:1.14.2 ポート: - コンテナポート: 80 |
| RegionId |
string |
任意 |
リージョン ID。 |
cn-hangzhou |
レスポンスフィールド
|
フィールド |
型 |
説明 |
例 |
|
object |
レスポンスのスキーマ。 |
||
| RequestId |
string |
リクエスト ID。 |
CC107349-57B7-4405-B1BF-9BF5AF7F**** |
| ScalingGroupId |
string |
有効になるスケーリンググループの ID。 |
asg-bp1igpak5ft1flyp**** |
例
成功レスポンス
JSONJSON
{
"RequestId": "CC107349-57B7-4405-B1BF-9BF5AF7F****",
"ScalingGroupId": "asg-bp1igpak5ft1flyp****"
}
エラーコード
|
HTTP ステータスコード |
エラーコード |
エラーメッセージ |
説明 |
|---|---|---|---|
| 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. |
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。