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

Container Compute Service:Knative の概要

最終更新日:Mar 26, 2026

Knative は、Kubernetes 上で動作するオープンソースのサーバーレスフレームワークです。Container Compute Service (ACS) Knative は、オープンソースの Knative および Kubernetes API と完全互換であり、マネージドホスティング、予測スケーリング、Alibaba Cloud サービスとのより深い統合機能を追加しています。

Knative は、Kubernetes を基盤とする開発における以下の 3 つの共通課題に対応します:

  • デプロイメントの複雑さ:Knative では、Pod、Service、Deployment、Ingress の設定が抽象化されます。単一の Knative Service 定義で、これらすべてを処理できます。

  • アイドル時のリソースコスト:Knative では、トラフィックがない場合に Pod 数をゼロにスケールし、リクエストが到着すると自動的にスケールアウトします。

  • ベンダーロックイン:Knative は任意の Kubernetes クラスター上で実行可能であるため、ワークロードはクラウドプロバイダー間およびオンプレミス環境間で移植可能です。

基本概念

Knative は 3 つのコンポーネントで構成されています。各コンポーネントは独立して使用することも、組み合わせて使用することもでき、ニーズに応じて段階的に導入できます。

  • Knative Serving:サーバーレスワークロード管理(デプロイメント、バージョン管理、カナリアリリース、リクエストベースの自動スケーリング)を担当します。トラフィックがない場合、Knative Serving は Pod をゼロにスケールします。

  • Knative Eventing:イベント管理(外部イベントソースへの接続、イベントの登録およびサブスクライブ、サービスまたは関数へのルーティング前のイベントフィルタリング)を提供します。これにより、イベントプロデューサーとイベントコンシューマーが疎結合化されます。

  • Knative Functions:Kubernetes、コンテナ、Knative の内部構造に関する専門知識がなくても、Knative Service の作成、ビルド、デプロイが可能です。ステートレスでイベント駆動型の関数を、Knative Service として直接クラスターにデプロイできます。

リクエストベースの自動スケーリングの仕組み

Knative Serving は、各 Pod に queue-proxy サイドカーコンテナを挿入し、同時実行数および 1 秒あたりのリクエスト数(RPS)メトリックを収集します。オートスケーラーは、CPU やメモリではなくこれらのメトリックを用いて Pod 数を調整するため、実際のサービス負荷をより直接的に反映できます。

トラフィックがゼロになると、オートスケーラーは「Serve モード」(直接ルーティング)から「Proxy モード」に切り替わります。着信リクエストは Proxy で一時保持され、新しい Pod の起動が行われます。Pod が Ready 状態になると、Proxy はキューに溜まったリクエストを転送し、再び Serve モードに戻ります。

Knative を使用せずに同様のリクエストベースの自動スケーリングを実現するには、Deployment および Service の作成、Ingress の設定、Horizontal Pod Autoscaler(HPA)の個別設定が必要です。一方、Knative Service では、これらすべてを単一の YAML ファイルで定義できます。

バージョン管理およびカナリアリリースの仕組み

すべての Knative Service には、以下の 2 つの基盤となるオブジェクトがあります:

  • Configuration:Service の現在の望ましい状態を表します。Service の更新ごとに、一意に識別される新しい revision が作成されます。

  • Route:トラフィックを 1 つ以上の revision に、設定可能な割合でルーティングします。

このモデルにより、以前の revision へのロールバックや、カナリアリリース・A/B テスト向けの revision 間でのトラフィック分割が可能になります。たとえば、70 % のトラフィックを Revision V1 に、30 % を Revision V2 にルーティングできます。

image

ACS Knative を採用する理由

ACS Knative は、オープンソースの Knative および Kubernetes API と完全互換であり、さらにいくつかの領域で拡張されています。

image

サービスとしての機能(Capability as a Service)

ACS Knative を使用すると、システム構築のためのリソース購入を必要とせず、数回のクリック操作だけでアプリケーションをデプロイできます。視覚的な操作が可能なコンソールにより、Kubernetes クラスターおよび Knative の利用が簡素化されます。

マネージドコンポーネントおよび Ingress

ACS クラスターでは、Knative Serving および Knative Eventing が高可用性で ACS によってホストおよび管理されており、追加料金はかかりません。また、ACS では以下の 4 種類の Ingress オプションを提供しています:

Ingress説明
Application Load Balancer (ALB)完全マネージド、運用保守不要。Alibaba Cloud ALB サービスを基盤とし、内蔵の自動スケーリング機能を備えています
Microservices Engine (MSE)次世代 Ingress。Kubernetes Ingress 標準に準拠し、従来のトラフィックゲートウェイのすべての機能をサポートします
Service Mesh (ASM)Istio 互換。マイクロサービス向けの集中型トラフィック管理を提供し、メッシュ可観測性および安全なサービス間通信を実現します
Kourierオープンソースの軽量 Ingress。Envoy アーキテクチャに基づき、オープンソース版 Knative と互換です

ALB、MSE、ASM の Ingress コントローラーは ACS によって作成およびホストされます。Kourier はオープンソース版と互換です。

コールドスタート時間の短縮

オープンソースの Knative では、コスト削減のため非ピーク時に Pod をゼロにスケールしますが、次のリクエストではコールドスタートが発生します。ACS Knative では、このレイテンシーを短縮する以下の 2 つの方法を提供しています:

  • 予約インスタンス:低スペックのバースト可能インスタンスを予約し、Pod を常駐状態(ウォーム)に保ちます。これにより、コスト削減と起動時間の短縮のバランスを最適化できます。

  • Advanced Horizontal Pod Autoscaler(AHPA)による予測スケーリング:AHPA は過去のメトリックを分析して需要を予測し、トラフィックのピーク前にリソースを事前にプロビジョニングします。アプリケーションのワークロードが定期的なスケジュールで変動する場合に有効です。

詳細な比較については、「Alibaba Cloud Knative とオープンソース Knative の比較」をご参照ください。

エコシステム連携

ACS Knative は、追加のサーバーのプロビジョニングや管理を必要とせず、Alibaba Cloud の可観測性およびアプリケーションサービスと統合されます:

ユースケース

ユースケース説明
Web サービスのホスティング簡易な設定で Web サービスをデプロイできます。revision 機構により、各バージョンに一意の識別子が付与され、ロールバックおよびトラフィック分割が容易になります。Route を用いたトラフィック割合設定により、カナリアリリースおよび A/B テストを実行できます。
サーバーレスアプリケーション開発者が IaaS リソースではなくビジネスロジックに集中できるようになります。ACS Knative はリクエストの同時実行数に基づいてスケールアウトし、トラフィック停止時に Pod をゼロにスケールすることで、アイドル時のコストを削減します。
AI 推論サービスGPU 加速シナリオにおいて、チームはインフラストラクチャーのメンテナンスではなく、AI モデルの開発およびデプロイに集中できます。ACS Knative は実際のワークロードに基づいて推論サービスをスケールし、クラウドノード、データセンター、エッジデバイスのいずれでも実行可能です。
イベント駆動型ワークロードKnative Eventing を使用して外部イベントソースに接続できます。たとえば、IoT センサーデータを受信するイベントソースを設定し、データストレージ、リアルタイム分析、アラート通知などのダウンストリーム処理ロジックをトリガーできます。対応するソースには、Apache Kafka、GitHub、MNS、Apache RocketMQ が含まれます。

クイックスタート

前提条件:続行する前に、ACS クラスターへの Knative のデプロイ を実行してください。

コンポーネントおよび Ingress のセットアップ

  • Knative Serving のインストール — コンソールから ACS Knative をデプロイし、Knative Serving コンポーネントをインストールします。

  • Ingress の選択およびデプロイ — ACS Knative では ALB、MSE、ASM、Kourier をサポートしています。選択に関する推奨事項は、リンク先のガイドをご参照ください。

自動スケーリングの設定

バージョンおよびトラフィックの管理

  • revision の作成 — アプリケーションのバージョンを管理し、以前の revision へロールバックできます。

  • カナリアリリースの実行 — Route の割合設定により、revision 間でトラフィックを分割します。

Knative Service へのアクセス

Knative Service のデフォルトドメインは、{route}.{namespace}.{default-example.com} の形式に従います。

高度な機能

  • Knative Eventing の概要 — Apache Kafka、GitHub、MNS、Apache RocketMQ を含むイベントソースを用いたイベント駆動型アーキテクチャを構築します。

  • Knative Functions のデプロイ — Kubernetes 構成を直接管理することなく、ステートレス関数を作成およびデプロイできます。

  • KServe のデプロイ および 推論サービスの実行 — Kubernetes ベースの KServe 機械学習モデルサービングフレームワークを使用して、トレーニング済みモデル(TFServing、TorchServe、Triton)を Kubernetes 上にデプロイします。

  • 高度なトラフィック管理のための ASM 連携 — Service Mesh(ASM)を活用して、Knative Service における複雑なトラフィックルーティング、メッシュ可観測性、および安全なサービス間通信を実現します。

可観測性およびモニタリング

  • Knative ダッシュボードの表示 — Managed Service for Prometheus に接続して、レスポンスレイテンシーおよびリクエスト同時実行数のメトリックを確認します。

課金

ACS Knative 自体は無料です。使用時に作成されるクラウドリソース(SLB インスタンス、NAT ゲートウェイなど)のみが課金対象となります。詳細については、「課金ルール」をご参照ください。

よくある質問

一般的な問題については、「Knative よくある質問」をご参照ください。主な質問例は以下のとおりです:

お問い合わせ

Knative に関するご質問やフィードバックは、DingTalk グループ 23302777 へご参加ください。

次のステップ

  • 最新の機能および修正を確実に適用するため、Knative Serving を常に最新の状態に保ってください。更新は非ピーク時間帯に実施してください。「Knative リリースノート」および「Knative Serving コンポーネントの更新」をご参照ください。

  • 公式の Knative Bookstore Tutorial を実施し、Knative を用いたアプリケーションのビルド、デプロイ、モニタリングまでの一連の手順を確認してください。