第12章 ネットワーク
12.1. OpenShift Serverless でのサービスメッシュの使用 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Serverless でサービスメッシュを使用すると、開発者はデフォルトの Kourier 実装で OpenShift Serverless を使用する際にサポートされない追加のネットワークおよびルーティングオプションを設定できます。これらのオプションには、TLS 証明書を使用したカスタムドメインの設定、および JSON Web トークン認証の使用が含まれます。
前提条件
- OpenShift Serverless Operator および Knative Serving をインストールします。
- Red Hat OpenShift Service Mesh をインストールします。
手順
defaultnamespace をメンバーとして ServiceMeshMemberRoll に追加します。apiVersion: maistra.io/v1 kind: ServiceMeshMemberRoll metadata: name: default namespace: istio-system spec: members: - default重要knative-servingおよびknative-serving-ingressなどのシステム namespace の Pod へのサイドカー挿入の追加はサポートされていません。Knative システム Pod から Knative サービスへのトラフィックフローを許可するネットワークポリシーを作成します。
serving.knative.openshift.io/system-namespace=trueラベルをknative-servingnamespace に追加します。$ oc label namespace knative-serving serving.knative.openshift.io/system-namespace=trueserving.knative.openshift.io/system-namespace=trueラベルをknative-serving-ingressnamespace に追加します。$ oc label namespace knative-serving-ingress serving.knative.openshift.io/system-namespace=true以下の
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: - IngressNetworkPolicyリソースを適用します。$ oc apply -f <filename>
12.1.1. Knative サービスのサイドカーコンテナー挿入の有効化 リンクのコピーリンクがクリップボードにコピーされました!
アノテーションを Service リソース YAML ファイルに追加し、Knative サービスのサイドカー挿入を有効にすることができます。
手順
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"アノテーションを追加します。
Serviceリソースの YAML ファイルを適用します。$ oc apply -f <filename>
12.1.2. 追加リソース リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat OpenShift Service Mesh の詳細は、 Red Hat OpenShift Service Mesh architecture を参照してください。