2.9.2.4. CLI を使用してインフラストラクチャーノード上で実行されるように個別のコントロールプレーンコンポーネントを設定する
Service Mesh コントロールプレーンによってデプロイされた個々のコンポーネントがインフラストラクチャーノードで実行される場合は、このタスクを実行します。これらのデプロイされたコンポーネントには、Istiod、Ingress Gateway、および Egress Gateway が含まれます。
コントロールプレーンをワーカーノード上で実行する場合は、このタスクを省略してください。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされている。
- OpenShift Container Platform に `cluster-admin` としてログインしている。
手順
ServiceMeshControlPlaneリソースを YAML ファイルとして開きます。$ oc -n istio-system edit smcp <name>1 - 1
<name>は、ServiceMeshControlPlaneリソースの名前を表します。
インフラストラクチャーノードで Istiod コンポーネントを実行するには、
ServiceMeshControlPlaneリソースのspec.runtime.components.pilot.pod仕様にnodeSelectorフィールドとtolerationsフィールドを追加します。spec: runtime: components: pilot: pod: nodeSelector:1 node-role.kubernetes.io/infra: "" tolerations:2 - effect: NoSchedule key: node-role.kubernetes.io/infra value: reserved - effect: NoExecute key: node-role.kubernetes.io/infra value: reservedIngress Gateway と Egress Gateway をインフラストラクチャーノードで実行する場合は、
ServiceMeshControlPlaneリソースのspec.gateways.ingress.runtime.pod仕様とspec.gateways.egress.runtime.pod仕様に、nodeSelectorフィールドとtolerationsフィールドを追加します。spec: gateways: ingress: runtime: pod: nodeSelector:1 node-role.kubernetes.io/infra: "" tolerations:2 - effect: NoSchedule key: node-role.kubernetes.io/infra value: reserved - effect: NoExecute key: node-role.kubernetes.io/infra value: reserved egress: runtime: pod: nodeSelector:3 node-role.kubernetes.io/infra: "" tolerations:4 - effect: NoSchedule key: node-role.kubernetes.io/infra value: reserved - effect: NoExecute key: node-role.kubernetes.io/infra value: reserved