第12章 ネットワーク


12.1. OpenShift Serverless でのサービスメッシュの使用

OpenShift Serverless でサービスメッシュを使用すると、開発者はデフォルトの Kourier 実装で OpenShift Serverless を使用する際にサポートされない追加のネットワークおよびルーティングオプションを設定できます。これらのオプションには、TLS 証明書を使用したカスタムドメインの設定、および JSON Web トークン認証の使用が含まれます。

前提条件

  1. OpenShift Serverless Operator および Knative Serving をインストールします。
  2. Red Hat OpenShift Service Mesh をインストールします。

手順

  1. default namespace をメンバーとして ServiceMeshMemberRoll に追加します。

    apiVersion: maistra.io/v1
    kind: ServiceMeshMemberRoll
    metadata:
      name: default
      namespace: istio-system
    spec:
      members:
        - default
    重要

    knative-serving および knative-serving-ingress などのシステム namespace の Pod へのサイドカー挿入の追加はサポートされていません。

  2. Knative システム Pod から Knative サービスへのトラフィックフローを許可するネットワークポリシーを作成します。

    1. serving.knative.openshift.io/system-namespace=true ラベルを knative-serving namespace に追加します。

      $ oc label namespace knative-serving serving.knative.openshift.io/system-namespace=true
    2. serving.knative.openshift.io/system-namespace=true ラベルを knative-serving-ingress namespace に追加します。

      $ oc label namespace knative-serving-ingress serving.knative.openshift.io/system-namespace=true
    3. 以下の NetworkPolicy リソースを YAML ファイルにコピーします。

      apiVersion: networking.k8s.io/v1
      kind: NetworkPolicy
      metadata:
        name: allow-from-serving-system-namespace
        namespace: default
      spec:
        ingress:
        - from:
          - namespaceSelector:
              matchLabels:
                serving.knative.openshift.io/system-namespace: "true"
        podSelector: {}
        policyTypes:
        - Ingress
    4. NetworkPolicy リソースを適用します。

      $ oc apply -f <filename>

12.1.1. Knative サービスのサイドカーコンテナー挿入の有効化

アノテーションを Service リソース YAML ファイルに追加し、Knative サービスのサイドカー挿入を有効にすることができます。

手順

  1. sidecar.istio.io/inject="true" アノテーションを Service リソースに追加します。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: hello-example-1
    spec:
      template:
        metadata:
          annotations:
            sidecar.istio.io/inject: "true" 1
        spec:
          containers:
          - image: docker.io/openshift/hello-openshift
            name: container
    1
    sidecar.istio.io/inject="true" アノテーションを追加します。
  2. Service リソースの YAML ファイルを適用します。

    $ oc apply -f <filename>

12.1.2. 追加リソース

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.