Knative Serving¶
Knative Servingは、Kubernetes Custom Resource Definitions(CRD)として一連のオブジェクトを定義します。これらのリソースは、クラスタ上でサーバーレスワークロードの動作を定義および制御するために使用されます。
主要なKnative Servingリソースは、サービス、ルート、コンフィグレーション、およびリビジョンです。
-
サービス:
service.serving.knative.dev
リソースは、ワークロードのライフサイクル全体を自動的に管理します。アプリにルート、コンフィグレーション、およびサービスの更新ごとに新しいリビジョンがあることを保証するために、他のオブジェクトの作成を制御します。サービスは、常に最新のまたは固定されたリビジョンにトラフィックをルーティングするように定義できます。 -
ルート:
route.serving.knative.dev
リソースは、ネットワークエンドポイントを1つまたは複数のリビジョンにマッピングします。分数トラフィックや名前付きルートなど、いくつかの方法でトラフィックを管理できます。 -
コンフィグレーション:
configuration.serving.knative.dev
リソースは、デプロイメントの目的の状態を維持します。コードとコンフィグレーションを明確に分離し、Twelve-Factor Appの方法論に従います。コンフィグレーションを変更すると、新しいリビジョンが作成されます。 -
リビジョン:
revision.serving.knative.dev
リソースは、ワークロードに加えられた各変更のコードとコンフィグレーションの時点のスナップショットです。リビジョンは不変のオブジェクトであり、必要に応じて保持できます。Knative Servingリビジョンは、着信トラフィックに応じて自動的にスケールアップおよびスケールダウンできます。
リソースとその相互作用の詳細については、serving
GitHubリポジトリのリソースタイプ概要を参照してください。
一般的なユースケース¶
サポートされているKnative Servingユースケースの例
- サーバーレスコンテナの迅速なデプロイ。
- 自動スケーリング(ポッドをゼロにスケールダウンを含む)。
- Contour、Kourier、Istioなどの複数のネットワーク層をサポートし、既存の環境に統合します。
Knative Servingは、HTTPとHTTPSの両方のネットワークプロトコルをサポートしています。
インストール¶
インストールページに記載されている方法でKnative Servingをインストールできます。
はじめに¶
Servingを使い始めるには、Hello Worldサンプルプロジェクトのいずれかを確認してください。これらのプロジェクトでは、Service
リソースを使用して、すべての詳細を管理します。
Service
リソースを使用すると、デプロイされたサービスには、自動的に一致するルートとコンフィグレーションが作成されます。Service
が更新されるたびに、新しいリビジョンが作成されます。
その他のサンプルとデモ¶
Knative Servingの問題のデバッグ¶
設定とネットワーク¶
オブザーバビリティ¶
既知の問題¶
既知の問題の完全なリストについては、Knative Serving Issuesページを参照してください。