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

Container Service for Kubernetes:概要

最終更新日:Dec 14, 2024

Knativeは、サーバーレスアプリケーション向けのオープンソースおよびKubernetesベースのプラットフォームです。 Knativeは、サーバーレスワークロードのデプロイと管理、およびサーバーレスワークロード用のエンタープライズクラスのプラットフォームの構築に役立ちます。 ACK ServerlessはKnativeと統合されます。 Knative APIを呼び出してクラウドリソースを使用するには、ACKサーバーレスクラスターを作成し、クラスターに対してKnativeを有効にするだけで済みます。 この場合、Knativeコントローラーの料金を支払う必要はありません。

ACK Serverless Knativeの利点

オープンソースKnative

ACK Serverless Knative

デフォルトでは、Istioゲートウェイが使用されます。 したがって、Istioコントローラーのインストールに使用されるインフラストラクチャリソースの料金を支払う必要があります。

Knativeコントローラーの料金を支払う必要はありません。

Knativeコントローラーのインストールに使用されたインフラストラクチャリソースに対して課金されます。

ACKサーバーレスクラスターにポッドを作成すると、コールドスタートが発生します。 オープンソースKnativeは、スケール・ツー・ゼロ・メカニズムを使用してコストを削減します。 ただし、コールドスタート中に、セッションタイムアウトのためにクラスターがリクエストの処理に失敗することがあります。

ACK Serverless Knativeは、オフピーク時にインスタンス数をゼロにスケーリングしません。 代わりに、ACK Serverlessはリザーブドインスタンスを使用します。 リザーブドインスタンスを使用すると、低コストでコールドスタートを回避できます。 リザーブドインスタンスの詳細については、「リザーブドインスタンスの設定」をご参照ください。

Knativeでのリソース管理

ACKサーバーレスはサーバーレスアプリケーションをホストし、Kubernetesを簡単に使用できます。 ノードを購入することなく、コンテナ化されたアプリケーションをACKサーバーレスクラスターに直接デプロイできます。 次のリストでは、Knativeを使用してリソースを管理する利点について説明します。

  • Knativeを使用して、ACKサーバーレスクラスターでアプリケーションを管理できます。

  • Knativeは、ACKサーバーレスクラスターからポッドリソースを自動的に要求します。

Knative ServingコントローラはACK Serverlessと統合されています。 Knative APIを呼び出してクラウドリソースを使用するには、ACKサーバーレスクラスターを作成し、クラスターに対してKnativeを有効にするだけで済みます。 Knativeコントローラーは課金されません。

Knativeゲートウェイ

デフォルトでは、オープンソースのKnativeは、Istio、Gloo、Contour、Kourier、Ambassadorなどの複数のIngressゲートウェイソリューションを提供します。 これらの解決策の中で、Istioが最も頻繁に使用されます。 これは、Istioがサービスメッシュとしても機能するためです。 各ACKサーバーレスクラスターには、少なくとも2つの常駐ゲートウェイインスタンスが含まれている必要があります。 2つのインスタンスは、高可用性を確保するために互いにバックアップを提供します。 ゲートウェイコントローラーは常駐している必要があります。 これらの常駐リソースに対して、インフラストラクチャとO&M料金を支払う必要があります。

ユーザーエクスペリエンスを向上させるために、Alibaba Cloudでは、Application Load Balancer (ALB) インスタンスをKnative Ingressゲートウェイとして使用できます。 Knative Gatewayは、ACKサーバーレスクラスターに必要なゲートウェイ機能を提供し、クラウドサービスと同じくらい安定性と信頼性があります。 常駐リソースは必要ありません。 これにより、インフラストラクチャのコストとO&Mワークロードが削減されます。

リザーブドインスタンス

デフォルトでは、オープンソースのKnativeは、オフピーク時にインスタンス数をゼロにスケーリングします。 これは、次にシステムがアプリケーションを開始するときにコールドスタートにつながります。 コールドスタート時には、インフラストラクチャリソースを割り当て、ポッドをスケジュールし、アプリケーションイメージをプルする必要があります。 コールドスタートには、アプリケーションの起動時間も含まれます。 アプリケーションイメージのサイズとアプリケーションの起動時間は、開発者またはサービスに基づいています。

オープンソースKnativeとは異なり、ACK Serverless Knativeは、オフピーク時にインスタンス数をゼロにスケーリングしません。 代わりに、ACK Serverless Knativeは1つのインスタンスを予約します。 次のコンテンツは、リザーブドインスタンスの仕組みを示しています。

  • ACK Serverless Knativeは、バースト可能なインスタンスを使用して、オフピーク時にコンピューティング最適化インスタンスを置き換えます。 リクエストを受信すると、ACK Serverlessはコンピューティング最適化インスタンスに切り替えます。 このメカニズムは、オフピーク時のコストを削減します。

  • オフピーク時に蓄積されたCPUクレジットは、ピーク時に使用してコストを削減できます。

リザーブドインスタンスの詳細については、「リザーブドインスタンスの設定」をご参照ください。

KubernetesクラスターへのKnativeコンポーネントのデプロイ

KnativeはACKサーバーレスクラスターにデプロイできます。

  • ACKサーバーレスクラスターのバージョンが1.16以降の場合は、Container Service for Kubernetes (ACK) コンソールでKnativeをデプロイできます。 詳細については、「Knativeのデプロイ」をご参照ください。

  • クラスターのバージョンが1.16以降であることを確認してください。

課金

ACK Serverless Knativeを使用する場合、ACK Serverlessクラスターの管理に使用されるクラウドリソースに対してのみ課金されます。 クラウドリソースには、エラスティックコンテナインスタンス、SLBインスタンス、NATゲートウェイが含まれます。 これらのリソースは、対応する課金ルールに基づいて課金されます。 詳細については、「課金」をご参照ください。