1.18.9. 페더레이션을 위한 컨트롤 플레인 구성


메시를 연결하기 전에 메시 페더레이션을 위해 ServiceMeshControlPlane 을 구성해야 합니다. 페더레이션의 멤버인 모든 메시는 동일하고 각 메시는 독립적으로 관리되므로 페더레이션에 참여할 메시에 대해 SMCP를 구성해야 합니다.

다음 예제에서 빨간색-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.1
  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.6. ServiceMeshControlPlane 페더레이션 구성 매개변수
매개변수설명기본값
spec:
  cluster:
    name:

클러스터의 이름입니다. 클러스터 이름을 지정할 필요는 없지만 문제 해결에 유용합니다.

문자열

해당 없음

spec:
  cluster:
    network:

클러스터 네트워크의 이름입니다. 네트워크에 이름을 지정할 필요는 없지만 구성 및 문제 해결에 유용합니다.

문자열

해당 없음

1.18.9.1. 페더레이션 게이트웨이 이해

게이트웨이 를 사용하여 메시에 대한 인바운드 및 아웃바운드 트래픽을 관리하여 메시에 들어가거나 나가려는 트래픽을 지정할 수 있습니다.

수신 및 송신 게이트웨이를 사용하여 서비스 메시(North-South 트래픽)를 입력하고 나가는 트래픽을 관리합니다. 페더레이션 메시를 생성할 때 추가 수신/egress 게이트웨이를 생성하여 연합 메시 간 통신, 서비스 메시 간 통신(East-West 트래픽)을 쉽게 관리할 수 있습니다.

메시 간 충돌 이름 지정을 방지하려면 각 메시에 대해 별도의 송신 및 수신 게이트웨이를 생성해야 합니다. 예를 들어 'red-mesh'에는 'green-mesh' 및 blue-mesh 로 이동하는 트래픽에 대한 별도의 송신 게이트웨이가 있습니다.

표 1.7. 페더레이션 게이트웨이 매개변수
매개변수설명기본값
spec:
  gateways:
    additionalEgress:
      <egressName>:

페더레이션의 메시 피어에 대한 추가 송신 게이트웨이를 정의합니다.

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

이 매개변수는 페더레이션 송신을 활성화하거나 비활성화합니다.

true/false

true

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

내보낸 서비스와 연결된 네트워크입니다.

메시의 SMCP에서 spec.cluster.network 값으로 설정합니다. 그렇지 않으면 <ServiceMeshTiB-name>-network를 사용합니다. 예를 들어 해당 메시의 ServiceMesh RegistryLogin 리소스의 이름이 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:

포트와 name: 을 지정하는 데 사용됩니다. TLS 및 서비스 검색에 사용됩니다. 페더레이션 트래픽은 서비스 트래픽용 원시 암호화 TCP로 구성됩니다.

포트 15443 은 페더레이션의 다른 메시에 TLS 서비스 요청을 보내는 데 필요합니다. 포트 8188 은 페더레이션의 다른 메시에 서비스 검색 요청을 보내는 데 필요합니다.

 
spec:
  gateways:
    additionalIngress:

페더레이션의 메시 피어에 대한 추가 수신 게이트웨이 게이트웨이를 정의합니다.

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

이 매개변수는 페더레이션 수신을 활성화하거나 비활성화합니다.

true/false

true

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

게이트웨이에서 사용할 라우터 모드입니다.

sni-dnat

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

수신 게이트웨이 서비스는 OSI 모델의 계층 4에서 작동하고 공개적으로 사용 가능한 로드 밸런서를 통해 노출되어야 합니다.

LoadBalancer

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

페더레이션 트래픽이 클러스터의 기본 시스템 게이트웨이를 통과하지 못하도록 게이트웨이의 고유한 레이블을 지정합니다.

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

포트와 name: 을 지정하는 데 사용됩니다. TLS 및 서비스 검색에 사용됩니다. 페더레이션 트래픽은 서비스 트래픽용 원시 암호화 TCP로 구성됩니다. 페더레이션 트래픽은 검색을 위한 HTTPS로 구성됩니다.

포트 15443 은 페더레이션의 다른 메시에 대한 TLS 서비스 요청을 수신하는 데 필요합니다. 포트 8188 은 연합 내의 다른 메시에 대한 서비스 검색 요청을 수신하기 위해 필요합니다.

 
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.