6.4. 複数のコントロールプレーンのデプロイ
2 つ以上のコントロールプレーンに対する Extended support を利用できます。単一クラスター内のサービスメッシュの最大数は、使用可能なクラスターリソースによって異なります。
6.4.1. 最初のコントロールプレーンのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
最初のコントロールプレーンをデプロイするには、割り当てられた namespace を作成します。
手順
次のコマンドを実行して、
istio-system-1という最初の Istio コントロールプレーンの namespace を作成します。$ oc new-project istio-system-1次のコマンドを実行して、Istio
discoverySelectorsフィールドで使用される最初の namespace に次のラベルを追加します。$ oc label namespace istio-system-1 istio-discovery=mesh-1名前を
mesh-1、discoverySelectorをmesh-1として、istio-1.yamlという名前の YAML ファイルを作成します。設定例
kind: Istio apiVersion: sailoperator.io/v1 metadata: name: mesh-1 spec: namespace: istio-system-1 values: meshConfig: discoverySelectors: - matchLabels: istio-discovery: mesh-1 # ...次のコマンドを実行して、最初の
Istioリソースを作成します。$ oc apply -f istio-1.yamlmesh-1内のワークロードがメッシュ間の復号化されたトラフィックと自由に通信することを制限するには、PeerAuthenticationリソースをデプロイして、mesh-1データプレーン内で相互 TLS (mTLS) トラフィックを適用します。peer-auth-1.yamlなどの設定ファイルを使用して、istio-system-1namespace にPeerAuthenticationリソースを適用します。$ oc apply -f peer-auth-1.yaml設定例
apiVersion: security.istio.io/v1 kind: PeerAuthentication metadata: name: "mesh-1-peerauth" namespace: "istio-system-1" spec: mtls: mode: STRICT
6.4.2. 2 番目のコントロールプレーンのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
最初のコントロールプレーンをデプロイした後、割り当てられた namespace 作成して 2 番目のコントロールプレーンをデプロイできます。
手順
次のコマンドを実行して、
istio-system-2という 2 番目の Istio コントロールプレーンの namespace を作成します。$ oc new-project istio-system-2次のコマンドを実行して、Istio
discoverySelectorsフィールドで使用される 2 番目の namespace に次のラベルを追加します。$ oc label namespace istio-system-2 istio-discovery=mesh-2istio-2.yamlという名前の YAML ファイルを作成します。設定例
kind: Istio apiVersion: sailoperator.io/v1 metadata: name: mesh-2 spec: namespace: istio-system-2 values: meshConfig: discoverySelectors: - matchLabels: istio-discovery: mesh-2 # ...次のコマンドを実行して、2 番目の
Istioリソースを作成します。$ oc apply -f istio-2.yaml次のコマンドを実行して、
istio-system-2namespace 内のワークロードのポリシーをデプロイし、相互 TLS トラフィックpeer-auth-2.yamlのみを受け入れます。$ oc apply -f peer-auth-2.yaml設定例
apiVersion: security.istio.io/v1 kind: PeerAuthentication metadata: name: "mesh-2-peerauth" namespace: "istio-system-2" spec: mtls: mode: STRICT
6.4.3. 複数のコントロールプレーンの検証 リンクのコピーリンクがクリップボードにコピーされました!
両方の Istio コントロールプレーンがデプロイされ、適切に実行されていることを確認します。各 Istio システム namespace で istiod Pod が正常に実行されていることを検証できます。
次のコマンドを実行して、ワークロードが
istio-system-1のコントロールプレーンに割り当てられていることを確認します。$ oc get pods -n istio-system-1出力例
NAME READY STATUS RESTARTS AGE istiod-mesh-1-b69646b6f-kxrwk 1/1 Running 0 4m14s次のコマンドを実行して、ワークロードが
istio-system-2のコントロールプレーンに割り当てられていることを確認します。$ oc get pods -n istio-system-2出力例
NAME READY STATUS RESTARTS AGE istiod-mesh-2-8666fdfc6-mqp45 1/1 Running 0 118s