1.5. Kourier が有効にされている場合のサービスメッシュの OpenShift Serverless との統合
Kourier が既に有効になっている場合でも、OpenShift Serverless で Service Mesh を使用できます。この手順は、Kourier を有効にして Knative Serving を既にインストールしているが、後で Service Mesh 統合を追加することにした場合に役立つ可能性があります。
前提条件
- OpenShift Container Platform に対するクラスター管理者権限があるか、Red Hat OpenShift Service on AWS または OpenShift Dedicated に対するクラスターまたは専用管理者権限がある。
- アプリケーションおよび他のワークロードを作成するために、プロジェクトを作成しているか、適切なロールおよびパーミッションが割り当てられたプロジェクトにアクセスできる。
-
OpenShift CLI (
oc
) がインストールされている。 - OpenShift Serverless Operator と Knative Serving をクラスターにインストールしている。
- Red Hat OpenShift Service Mesh をインストールしている。OpenShift Serverless with Service Mesh and Kourier は、Red Hat OpenShift Service Mesh バージョン 1.x および 2.x の両方での使用がサポートされています。
手順
サービスメッシュと統合する必要のある namespace をメンバーとして
ServiceMeshMemberRoll
オブジェクトに追加します。apiVersion: maistra.io/v1 kind: ServiceMeshMemberRoll metadata: name: default namespace: istio-system spec: members: - <namespace> 1 ...
- 1
- サービスメッシュと統合する namespace の一覧。
ServiceMeshMemberRoll
リソースを適用します。$ oc apply -f <filename>
Knative システム Pod から Knative サービスへのトラフィックフローを許可するネットワークポリシーを作成します。
サービスメッシュと統合する必要のある namespace ごとに、
NetworkPolicy
リソースを作成します。apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: allow-from-serving-system-namespace namespace: <namespace> 1 spec: ingress: - from: - namespaceSelector: matchLabels: knative.openshift.io/part-of: "openshift-serverless" podSelector: {} policyTypes: - Ingress ...
- 1
- サービスメッシュと統合する必要のある namespace を追加します。
注記knative.openshift.io/part-of: "openshift-serverless"
ラベルが OpenShift Serverless 1.22.0 で追加されました。OpenShift Serverless 1.21.1 以前を使用している場合は、knative.openshift.io/part-of
ラベルをknative-serving
およびknative-serving-ingress
namespace に追加します。knative-serving
namespace にラベルを追加します。$ oc label namespace knative-serving knative.openshift.io/part-of=openshift-serverless
knative-serving-ingress
namespace にラベルを追加します。$ oc label namespace knative-serving-ingress knative.openshift.io/part-of=openshift-serverless
NetworkPolicy
リソースを適用します。$ oc apply -f <filename>