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

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

最終更新日:Nov 15, 2024

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

前提条件

  • Knativeはクラスターにデプロイされています。 詳細については、「」「Knativeのデプロイ」をご参照ください。

  • ack-virtual-nodeコンポーネントがデプロイされています。 このコンポーネントは、エラスティックコンテナインスタンスを使用する場合に必要です。 詳細については、「クラスターへのack-virtual-nodeのデプロイ」をご参照ください。

手順

  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ベースのポッドが作成されたことを示します。

関連ドキュメント