第4章 OpenShift Serverless アプリケーションの設定


4.1. Serving のマルチコンテナーサポート

単一の Knative サービスを使用してマルチコンテナー Pod をデプロイできます。この方法は、アプリケーションの役割を小さく特化した部分に分離する場合に便利です。

4.1.1. マルチコンテナーサービスの設定

マルチコンテナーのサポートはデフォルトで有効になっています。サービス内の複数のコンテナーを指定してマルチコンテナー Pod を作成できます。

手順

  1. サービスを変更して、追加のコンテナーを追加します。リクエストを処理できるコンテナーは 1 つだけであるため、ポート は 1 つのコンテナーにのみ指定してください。以下は、2 つのコンテナーの設定例です。

    複数のコンテナー設定

    apiVersion: serving.knative.dev/v1
    kind: Service
    ...
    spec:
      template:
        spec:
          containers:
            - name: first-container 1
              image: gcr.io/knative-samples/helloworld-go
              ports:
                - containerPort: 8080 2
            - name: second-container 3
              image: gcr.io/knative-samples/helloworld-java

    1
    最初のコンテナー設定。
    2
    最初のコンテナーのポート仕様。
    3
    2 つ目のコンテナー設定。

4.1.2. マルチコンテナーサービスの調査

複数のコンテナーに対して Readines プローブと Liveness プローブを指定できます。この機能はデフォルトでは有効になっていないため、KnativeServing カスタムリソース (CR) を使用して設定する必要があります。

手順

  1. KnativeServing CR で multi-container-probing 機能を有効にして、サービスのマルチコンテナープローブを設定します。

    マルチコンテナープロービング設定

    ...
    spec:
      config:
        features:
          "multi-container-probing": enabled 1
    ...

    1
    マルチコンテナープローブ機能が有効になる
  2. 更新された KnativeServing CR を適用します。

    $ oc apply -f <filename>
  3. 指定されたプローブが含まれるようにマルチコンテナーサービスを変更します。

    マルチコンテナープロービング

    apiVersion: serving.knative.dev/v1
    kind: Service
    ...
    spec:
     template:
       spec:
         containers:
           - name: first-container
             image: ghcr.io/knative/helloworld-go:latest
             ports:
               - containerPort: 8080
             readinessProbe: 1
               httpGet:
                 port: 8080
           - name: second-container
             image: gcr.io/knative-samples/helloworld-java
             readinessProbe: 2
               httpGet:
                 port: 8090

    1
    最初のコンテナーの Readines プローブ
    2
    2 番目のコンテナーの Readines プローブ

4.1.2.1. 関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.