すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:Knativeでelasticコンテナインスタンスを使用する

最終更新日:Oct 28, 2024

ビジネストラフィックが予期せず急増した場合は、Knativeのelasticコンテナインスタンスにデプロイされたポッドを使用できます。 これにより、実際の使用量に基づいてリソースの料金を支払うことができます。

前提条件

手順

  1. Knativeサービスを作成し、サービスにalibabacloud.com/eci=trueラベルを追加し、k8s.aliyun.com/eci-use-specs注釈を追加して、使用するエラスティックコンテナインスタンスのタイプを指定します。 次に、kubectl applyコマンドを実行してYAMLファイルをデプロイします。

    テンプレートのサンプル

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: helloworld-go
      namespace: vk
    spec:
      template:
        metadata:
          labels:
            alibabacloud.com/eci: "true" # Add the label.
          annotations:
            k8s.aliyun.com/eci-use-specs: "2-4Gi" # Specify the type of elastic container instance.
        spec:         
          containers:
          - env:
            - name: TARGET
              value: "Knative"
            image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
  2. 設定が完了したら、次のコマンドを実行して、設定が成功したことを確認します。

    kubectl -n vk get pod -o wide

    期待される出力:

    NAME                                              READY   STATUS    RESTARTS   AGE   IP             NODE                 NOMINATED NODE   READINESS GATES
    helloworld-go-dqqhv-deployment-6d54c9c8dc-hkjwn   2/2     Running   0          40s   192.XX.0.80   virtual-node-eci-0   <none>           <none>

    出力は、2つのElastic Container Instanceベースのポッドが作成されたことを示します。

関連ドキュメント

Knativeを使用する場合、Elastic Container Instanceベースのポッドを自動的にスケールアウトしてトラフィックスパイクに対処し、残りの時間にElastic Compute Service (ECS) ベースのポッドを使用する場合は、「KnativeでECSインスタンスとelasticコンテナインスタンスの両方を使用する」をご参照ください。