1.18.9. フェデレーション用の Service Mesh コントロールプレーンの設定
メッシュをフェデレーションする前に、メッシュフェデレーションの ServiceMeshControlPlane
を設定する必要があります。フェデレーションに所属する全メッシュは同等で、各メッシュは個別に管理されるため、フェデレーションに参加する 各 メッシュに SMCP を設定する必要があります。
以下の例では、red-mesh
の管理者は green-mesh
と blue-mesh
の両方を使用して、フェデレーションに SMCP を設定します。
Red-mesh のサンプル SMCP
apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane metadata: name: red-mesh namespace: red-mesh-system spec: version: v2.2 runtime: defaults: container: imagePullPolicy: Always gateways: additionalEgress: egress-green-mesh: enabled: true requestedNetworkView: - green-network routerMode: sni-dnat service: metadata: labels: federation.maistra.io/egress-for: egress-green-mesh ports: - port: 15443 name: tls - port: 8188 name: http-discovery #note HTTP here egress-blue-mesh: enabled: true requestedNetworkView: - blue-network routerMode: sni-dnat service: metadata: labels: federation.maistra.io/egress-for: egress-blue-mesh ports: - port: 15443 name: tls - port: 8188 name: http-discovery #note HTTP here additionalIngress: ingress-green-mesh: enabled: true routerMode: sni-dnat service: type: LoadBalancer metadata: labels: federation.maistra.io/ingress-for: ingress-green-mesh ports: - port: 15443 name: tls - port: 8188 name: https-discovery #note HTTPS here ingress-blue-mesh: enabled: true routerMode: sni-dnat service: type: LoadBalancer metadata: labels: federation.maistra.io/ingress-for: ingress-blue-mesh ports: - port: 15443 name: tls - port: 8188 name: https-discovery #note HTTPS here security: trust: domain: red-mesh.local
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
spec: cluster: name: | クラスターの名前。クラスター名は指定する必要はありませんが、トラブルシューティングに役立ちます。 | 文字列 | 該当なし |
spec: cluster: network: | クラスターネットワークの名前。ネットワークの名前は指定する必要はありませんが、設定およびトラブルシューティングに役立ちます。 | 文字列 | 該当なし |
1.18.9.1. フェデレーションゲートウェイについて
ゲートウェイ を使用してメッシュの受信トラフィックおよび送信トラフィックを管理することで、メッシュに入るか、またはメッシュを出るトラフィックを指定できます。
Ingress および egress ゲートウェイを使用して、サービスメッシュ (North-South トラフィック) に入退出するトラフィックを管理します。フェデレーションメッシュの作成時に、追加の Ingress/egress ゲートウェイを作成し、フェデレーションメッシュ間のサービス検出や通信を用意にして、サービスメッシュ間のトラフィックフロー (East-West トラフィック) を管理します。
メッシュ間の命名の競合を回避するには、各メッシュに個別の egress および ingress ゲートウェイを作成する必要があります。たとえば、red-mesh
には、green-mesh
および blue-mesh
に移動するトラフィックに対して個別の egress ゲートウェイがあります。
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
spec: gateways: additionalEgress: <egressName>: | フェデレーションの 各 メッシュピアの egress ゲートウェイを追加で定義します。 | ||
spec: gateways: additionalEgress: <egressName>: enabled: | このパラメーターは、フェデレーションの egress を有効または無効にします。 |
|
|
spec: gateways: additionalEgress: <egressName>: requestedNetworkView: | エクスポートされたサービスに関連付けられたネットワーク。 |
メッシュの SMCP で | |
spec: gateways: additionalEgress: <egressName>: routerMode: | ゲートウェイが使用するルーターモード。 |
| |
spec: gateways: additionalEgress: <egressName>: service: metadata: labels: federation.maistra.io/egress-for: | フェデレーショントラフィックがクラスターのデフォルトのシステムゲートウェイを通過しないように、ゲートウェイに一意のラベルを指定します。 | ||
spec: gateways: additionalEgress: <egressName>: service: ports: |
TLS およびサービス検出用の |
ポート | |
spec: gateways: additionalIngress: | フェデレーションで、各 メッシュピアの追加の Ingress ゲートウェイを定義します。 | ||
spec: gateways: additionalIgress: <ingressName>: enabled: | このパラメーターは、フェデレーション Ingress を有効または無効にします。 |
|
|
spec: gateways: additionalIngress: <ingressName>: routerMode: | ゲートウェイが使用するルーターモード。 |
| |
spec: gateways: additionalIngress: <ingressName>: service: type: | Ingress ゲートウェイサービスは、OSI モデルのレイヤー 4 で動作し、一般公開されているロードバランサー経由で公開する必要があります。 |
| |
spec: gateways: additionalIngress: <ingressName>: service: type: |
クラスターが |
| |
spec: gateways: additionalIngress: <ingressName>: service: metadata: labels: federation.maistra.io/ingress-for: | フェデレーショントラフィックがクラスターのデフォルトのシステムゲートウェイを通過しないように、ゲートウェイに一意のラベルを指定します。 | ||
spec: gateways: additionalIngress: <ingressName>: service: ports: |
TLS およびサービス検出用の |
ポート | |
spec: gateways: additionalIngress: <ingressName>: service: ports: nodePort: |
クラスターが |
指定した場合には、 |
次の例では、管理者は NodePort
サービスを使用して グリーンメッシュ
とのフェデレーション用に SMCP を設定しています。
NodePort の SMCP 例
gateways: additionalIngress: ingress-green-mesh: enabled: true routerMode: sni-dnat service: type: NodePort metadata: labels: federation.maistra.io/ingress-for: ingress-green-mesh ports: - port: 15443 nodePort: 30510 name: tls - port: 8188 nodePort: 32359 name: https-discovery