KnativeはKubernetesベースのサーバーレスフレームワークです。 Knativeの目的は、サーバーレスアプリケーション用のクラウドネイティブおよびクロスプラットフォームのオーケストレーション標準を作成することです。 Knativeは、コンテナビルド (または関数) 、ワークロード管理 (動的スケーリング) 、およびイベントモデルを統合します。 Knativeは、エンタープライズクラスのサーバーレスコンテナプラットフォームを構築して、最新のサーバーレスワークロードをデプロイおよび管理するのに役立ちます。
概要
Container Service for Kubernetes (ACK) Knativeは、オープンソースのKnativeと完全に互換性があり、ACK、メッセージサービス、ストレージサービス、およびネットワークサービスとインターフェイスして、本番レベルの機能を提供します。
汎用サーバーレスフレームワークとして、Knativeは次のコアコンポーネントで構成されています。
Knative Serving: イベントに基づいてサーバーレスワークロードを管理し、リソースリクエストに基づいてポッドを自動的にスケーリングできます。
Knative Servingは、ユーザーにサービスを提供するサーバーレスアプリケーションのワークロードを管理するために使用されます。 Knative Servingの最も重要な機能は、ポッドの自動スケーリングです。 ポッドは制限なしでスケーリングできます。 ワークロードが処理されない場合、ポッドの数はゼロにスケーリングされます。 Knative Servingはカナリアリリースもサポートしています。
Knative Eventing: イベントの生成や消費などのイベント管理機能を提供します。
Knative Eventingは、イベント駆動型サーバーレスアプリケーション用のオールインワンシステムを提供します。 システムには、外部イベントソースのインストール、イベントの登録とサブスクライブ、およびイベントのフィルタリングを可能にする機能があります。 イベントシステムは、イベントプロデューサーとイベントコンシューマーを分離します。 イベントプロデューサーは、アクティブなイベントコンシューマがイベントをリッスンする前にイベントを生成できます。 イベントコンシューマは、アクティブなプロデューサがイベントを生成する前にイベントを聞くことができる。
Knative関数: Knativeサービスを簡単に作成、ビルド、デプロイできます。
Knative Functionを使用すると、Kubernetes、コンテナー、Knativeなどの基盤となるテクノロジをマスターする必要なく、ステートレスなイベントドリブン関数をKnativeサービスとしてKubernetesクラスターにデプロイできます。
使用上の注意
登録済みクラスターにKnativeをデプロイできます。 これを行うには、次の要件を満たす必要があります。
外部Kubernetesクラスターは、Container Service for Kubernetes (ACK) の登録済みクラスターに接続されています。 Kubernetes 1.18のみサポートされています。 詳細については、「ACKコンソールでの登録済みクラスターの作成」および「onectlを使用した登録済みクラスターの作成」をご参照ください。
kubectlクライアントが登録済みクラスターに接続されています。 詳細については、「クラスターのkubeconfigファイルを取得し、kubectlを使用してクラスターに接続する」をご参照ください。
CalicoルートリフレクションモードまたはCilium Border Gateway Protocol (BGP) ルートモードの外部Kubernetesクラスターのみがサポートされています。
参照のための使用法のノート
機能 | 参照 |
Knativeリリースノート | |
Alibaba Cloud KnativeとオープンソースのKnativeの比較 | |
Knativeコンポーネントの管理 | |
Knativeサービスの管理 | |
Knative Eventing | |
KServe | |
ベストプラクティス |