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
매개변수 | 설명 | 값 | 기본값 |
---|---|---|---|
spec: cluster: name: | 클러스터의 이름입니다. 클러스터 이름을 지정할 필요는 없지만 문제 해결에 유용합니다. | 문자열 | 해당 없음 |
spec: cluster: network: | 클러스터 네트워크의 이름입니다. 네트워크에 이름을 지정할 필요는 없지만 구성 및 문제 해결에 유용합니다. | 문자열 | 해당 없음 |
1.18.9.1. 페더레이션 게이트웨이 이해
게이트웨이 를 사용하여 메시에 대한 인바운드 및 아웃바운드 트래픽을 관리하여 메시에 들어가거나 나가려는 트래픽을 지정할 수 있습니다.
수신 및 송신 게이트웨이를 사용하여 서비스 메시(North-South 트래픽)를 입력하고 나가는 트래픽을 관리합니다. 페더레이션 메시를 생성할 때 추가 수신/egress 게이트웨이를 생성하여 연합 메시 간 통신, 서비스 메시 간 통신(East-West 트래픽)을 쉽게 관리할 수 있습니다.
메시 간 충돌 이름 지정을 방지하려면 각 메시에 대해 별도의 송신 및 수신 게이트웨이를 생성해야 합니다. 예를 들어 'red-mesh'에는 'green-mesh' 및 blue-mesh
로 이동하는 트래픽에 대한 별도의 송신 게이트웨이가 있습니다.
매개변수 | 설명 | 값 | 기본값 |
---|---|---|---|
spec: gateways: additionalEgress: <egressName>: | 페더레이션의 각 메시 피어에 대한 추가 송신 게이트웨이를 정의합니다. | ||
spec: gateways: additionalEgress: <egressName>: enabled: | 이 매개변수는 페더레이션 송신을 활성화하거나 비활성화합니다. |
|
|
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: |
|
포트 | |
spec: gateways: additionalIngress: | 페더레이션의 각 메시 피어에 대한 추가 수신 게이트웨이 게이트웨이를 정의합니다. | ||
spec: gateways: additionalIgress: <ingressName>: enabled: | 이 매개변수는 페더레이션 수신을 활성화하거나 비활성화합니다. |
|
|
spec: gateways: additionalIngress: <ingressName>: routerMode: | 게이트웨이에서 사용할 라우터 모드입니다. |
| |
spec: gateways: additionalIngress: <ingressName>: service: type: | 수신 게이트웨이 서비스는 OSI 모델의 계층 4에서 작동하고 공개적으로 사용 가능한 로드 밸런서를 통해 노출되어야 합니다. |
| |
spec: gateways: additionalIngress: <ingressName>: service: metadata: labels: federation.maistra.io/ingress-for: | 페더레이션 트래픽이 클러스터의 기본 시스템 게이트웨이를 통과하지 못하도록 게이트웨이의 고유한 레이블을 지정합니다. | ||
spec: gateways: additionalIngress: <ingressName>: service: ports: |
|
포트 |