3.2. Service Mesh のインストール
OpenShift Serverless のインストールには、サービスメッシュのインストールされたバージョンが必要です。詳細は、OpenShift Container Platform ドキュメントで「Installing Service Mesh」を参照してください。
Operator のインストールについてのみサービスメッシュのドキュメントを使用してください。Operator のインストール後は、以下のドキュメントを使用してサービスメッシュのコントロールプレーンおよびメンバーロールをインストールします。
3.2.1. ServiceMeshControlPlane のインストール リンクのコピーリンクがクリップボードにコピーされました!
サービスメッシュは、データプレーンおよびコントロールプレーンで構成されます。ServiceMesh Operator のインストール後に、コントロールプレーンをインストールできます。コントロールプレーンは、サイドプロキシーを管理し、ポリシーを適用し、Telemetry を収集するようにこれを設定します。以下の手順では、アプリケーションに対する ingress として機能するサービスメッシュのコントロールプレーンのバージョンをインストールします。
コントロールプレーンを istio-system namespace にインストールする必要があります。現在、他の namespace はサポートされていません。
サンプル YAML ファイル
apiVersion: maistra.io/v1
kind: ServiceMeshControlPlane
metadata:
name: basic-install
namespace: istio-system
spec:
istio:
global:
multitenant: true
proxy:
autoInject: disabled
omitSidecarInjectorConfigMap: true
disablePolicyChecks: false
defaultPodDisruptionBudget:
enabled: false
istio_cni:
enabled: true
gateways:
istio-ingressgateway:
autoscaleEnabled: false
type: LoadBalancer
istio-egressgateway:
enabled: false
cluster-local-gateway:
autoscaleEnabled: false
enabled: true
labels:
app: cluster-local-gateway
istio: cluster-local-gateway
ports:
- name: status-port
port: 15020
- name: http2
port: 80
targetPort: 8080
- name: https
port: 443
mixer:
enabled: false
policy:
enabled: false
telemetry:
enabled: false
pilot:
autoscaleEnabled: false
sidecar: false
kiali:
enabled: false
tracing:
enabled: false
prometheus:
enabled: false
grafana:
enabled: false
sidecarInjectorWebhook:
enabled: false
このバージョンでは自動スケーリングが無効になっています。本リリースは実稼働環境での使用を目的としていません。
OpenShift Serverless で有効にされているサイドカーコンテナー挿入を使用してサービスメッシュを実行することは現時点で推奨されません。
前提条件
- クラスター管理者アクセスのあるアカウント
- ServiceMesh Operator がインストールされている。
手順
- クラスター管理者として OpenShift Container Platform インストールにログインします。
以下のコマンドを実行して
istio-systemnamespace を作成します。$ oc new-project istio-system-
サンプル YAML ファイルを
smcp.yamlファイルにコピーします。 以下のコマンドを使用して YAML ファイルを適用します。
$ oc apply -f smcp.yaml以下のコマンドを実行して、インストールプロセス時に Pod の進捗を確認します。
$ oc get pods -n istio-system -w
3.2.2. ServiceMeshMemberRoll のインストール リンクのコピーリンクがクリップボードにコピーされました!
サービスメッシュがマルチテナンシー用に設定されている場合、コントロールプレーン namespace のサービスメッシュのメンバーロールが必要です。アプリケーションがデプロイされたコントロールプレーンおよび ingress を使用するには、それらの namespace をメンバーロールの一部にする必要があります。
マルチテナントコントロールプレーンのインストールは、サービスメッシュの一部として設定された namespace のみに影響を与えます。ServiceMeshControlPlane リソースと同じ namespace にある ServiceMeshMemberRoll リソースのサービスメッシュに関連付けられた namespace を指定し、これを default として指定する必要があります。
ServiceMeshMemberRoll カスタムリソースの例
apiVersion: maistra.io/v1
kind: ServiceMeshMemberRoll
metadata:
name: default
namespace: istio-system
spec:
members:
- knative-serving
- mynamespace
前提条件
- Service Mesh Operator がインストールされていること。
- Red Hat OpenShift Service Mesh コントロールプレーンのパラメーターを定義するカスタムリソースファイル。
手順
- ServiceMeshMemberRoll カスタムリソースサンプルを複製する YAML ファイルを作成します。
関連する namespace を含めるように YAML ファイルを設定します。
注記サーバーレスアプリケーションをデプロイするすべての namespace を追加します。
knative-servingnamespace をメンバーロールに保持するようにしてください。以下を使用して、設定した YAML をファイル
smmr.yamlにコピーし、これを適用します。$ oc apply -f smmr.yaml