1.18.9. フェデレーション用の Service Mesh コントロールプレーンの設定


メッシュをフェデレーションする前に、メッシュフェデレーションの ServiceMeshControlPlane を設定する必要があります。フェデレーションに所属する全メッシュは同等で、各メッシュは個別に管理されるため、フェデレーションに参加する メッシュに SMCP を設定する必要があります。

以下の例では、red-mesh の管理者は green-meshblue-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

表1.7 ServiceMeshControlPlane フェデレーション設定パラメーター
パラメーター説明デフォルト値
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 ゲートウェイがあります。

表1.8 フェデレーションゲートウェイパラメーター
パラメーター説明デフォルト値
spec:
  gateways:
    additionalEgress:
      <egressName>:

フェデレーションの メッシュピアの egress ゲートウェイを追加で定義します。

  
spec:
  gateways:
    additionalEgress:
      <egressName>:
        enabled:

このパラメーターは、フェデレーションの egress を有効または無効にします。

true/false

true

spec:
  gateways:
    additionalEgress:
      <egressName>:
        requestedNetworkView:

エクスポートされたサービスに関連付けられたネットワーク。

メッシュの SMCP で spec.cluster.network の値に設定します。それ以外の場合は、<ServiceMeshPeer-name>-network を使用します。たとえば、メッシュの ServiceMeshPeer リソースの名前が west の場合には、ネットワークは west-network になります。

 
spec:
  gateways:
    additionalEgress:
      <egressName>:
        routerMode:

ゲートウェイが使用するルーターモード。

sni-dnat

 
spec:
  gateways:
    additionalEgress:
      <egressName>:
        service:
          metadata:
            labels:
              federation.maistra.io/egress-for:

フェデレーショントラフィックがクラスターのデフォルトのシステムゲートウェイを通過しないように、ゲートウェイに一意のラベルを指定します。

  
spec:
  gateways:
    additionalEgress:
      <egressName>:
        service:
          ports:

TLS およびサービス検出用の port:name: を指定するのに使用します。フェデレーショントラフィックは、サービストラフィック用の生の暗号化 TCP で設定されます。

ポート 15443 は、フェデレーションで TLS サービス要求を他のメッシュに送信するために必要です。ポート 8188 は、フェデレーションでサービス検出要求を他のメッシュに送信するために必要です。

 
spec:
  gateways:
    additionalIngress:

フェデレーションで、 メッシュピアの追加の Ingress ゲートウェイを定義します。

  
spec:
  gateways:
    additionalIgress:
      <ingressName>:
        enabled:

このパラメーターは、フェデレーション Ingress を有効または無効にします。

true/false

true

spec:
  gateways:
    additionalIngress:
      <ingressName>:
        routerMode:

ゲートウェイが使用するルーターモード。

sni-dnat

 
spec:
  gateways:
    additionalIngress:
      <ingressName>:
        service:
          type:

Ingress ゲートウェイサービスは、OSI モデルのレイヤー 4 で動作し、一般公開されているロードバランサー経由で公開する必要があります。

LoadBalancer

 
spec:
  gateways:
    additionalIngress:
      <ingressName>:
        service:
          type:

クラスターが LoadBalancer サービスをサポートしていない場合には、入力ゲートウェイサービスは NodePort サービスを介して公開できます。

NodePort

 
spec:
  gateways:
    additionalIngress:
      <ingressName>:
        service:
          metadata:
            labels:
              federation.maistra.io/ingress-for:

フェデレーショントラフィックがクラスターのデフォルトのシステムゲートウェイを通過しないように、ゲートウェイに一意のラベルを指定します。

  
spec:
  gateways:
    additionalIngress:
      <ingressName>:
        service:
          ports:

TLS およびサービス検出用の port:name: を指定するのに使用します。フェデレーショントラフィックは、サービストラフィック用の生の暗号化 TCP で設定されます。フェデレーショントラフィックは、検出用に HTTPS で設定されます。

ポート 15443 は、フェデレーションの他のメッシュへの TLS サービス要求を受信するために必要です。ポート 8188 は、フェデレーションの他のメッシュへのサービス検出要求を受信するために必要です。

 
spec:
  gateways:
    additionalIngress:
      <ingressName>:
        service:
          ports:
            nodePort:

クラスターが LoadBalancer サービスをサポートしていない場合には、nodePort: を指定するために使用されます。

指定した場合には、port:name: 以外に、TLS とサービス検出の両方でこれが必須です。nodePort: 30000-32767 の範囲である必要があります。

 

次の例では、管理者は 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

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.