コンテンツにスキップ

Kubernetes サービス

このガイドでは、Knative Serving の実行時にアクティブになるKubernetes Servicesについて説明します。

始める前に

  1. このガイドでは、Knative Serving をインストール済みであることを前提としています。
  2. クラスターに適切なコンポーネントがあることを確認してください。クラスターにインストールされているサービスを表示するには、次のコマンドを使用します。

    $ kubectl get services -n knative-serving
    

    これにより、次のような出力が返されます。

    NAME                TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                  AGE
    activator-service   ClusterIP   10.96.61.11      <none>        80/TCP,81/TCP,9090/TCP   1h
    autoscaler          ClusterIP   10.104.217.223   <none>        8080/TCP,9090/TCP        1h
    controller          ClusterIP   10.101.39.220    <none>        9090/TCP                 1h
    webhook             ClusterIP   10.107.144.50    <none>        443/TCP                  1h
    
  3. クラスター内のデプロイメントを表示するには、次のコマンドを使用します。

    $ kubectl get deployments -n knative-serving
    

    これにより、次のような出力が返されます。

    NAME                         DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
    activator                    1         1         1            1           1h
    autoscaler                   1         1         1            1           1h
    controller                   1         1         1            1           1h
    net-certmanager-controller   1         1         1            1           1h
    net-istio-controller         1         1         1            1           1h
    webhook                      1         1         1            1           1h
    

これらのサービスとデプロイメントは、インストール中に serving.yaml ファイルによってインストールされます。次のセクションでは、それらの機能について説明します。

コンポーネント

サービス: activator

アクティベーターは、非アクティブなリビジョンに対するリクエストを受信およびバッファリングし、オートスケーラーにメトリクスを報告する役割を担います。また、報告されたメトリクスに基づいてオートスケーラーがリビジョンをスケーリングした後、リビジョンへのリクエストを再試行します。

サービス: autoscaler

オートスケーラーはリクエストメトリクスを受信し、トラフィックの負荷を処理するために必要なポッドの数を調整します。

サービス: controller

コントローラーサービスは、すべての公開 Knative オブジェクトとオートスケーリング CRD を調整します。ユーザーが Knative サービスを Kubernetes API に適用すると、構成とルートが作成されます。これにより、構成がリビジョンに、リビジョンがデプロイメントと Knative Pod Autoscalers (KPA) に変換されます。

サービス: webhook

webhook は、すべての Kubernetes API 呼び出しとすべての CRD の挿入および更新をインターセプトします。デフォルト値を設定し、一貫性のない無効なオブジェクトを拒否し、Kubernetes API 呼び出しを検証および変更します。

デプロイメント: net-certmanager-controller

certmanager は、クラスターの Ingress を cert-manager オブジェクトに調整します。

デプロイメント: net-istio-controller

net-istio-controller デプロイメントは、クラスターの Ingress をIstio 仮想サービスに調整します。

次へ

  • Knative Serving に関連するサービスとデプロイメントの詳細については、仕様リポジトリを参照してください。
  • Knative Serving の概要については、Knative Serving の概要を参照してください。
  • 実践的なチュートリアルについては、Knative Serving コードサンプルを参照してください。

サイトのトラフィックを理解するために、分析と Cookie を使用します。サイトの使用に関する情報は、その目的のために Google と共有されます。詳細。