1.18.9. 페더레이션을 위한 서비스 메시 컨트롤 플레인 구성
메시를 연결하기 전에 메시 통합을 위해 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. 페더레이션 게이트웨이 이해
게이트웨이 를 사용하여 메시의 인바운드 및 아웃바운드 트래픽을 관리하여 메시에 들어가거나 종료할 트래픽을 지정할 수 있습니다.
수신 및 송신 게이트웨이를 사용하여 서비스 메시(북-남 트래픽)로 들어오고 나가는 트래픽을 관리합니다. 페더레이션 메시를 만들 때 추가 수신/ 송신 게이트웨이를 생성하여 페더레이션 메시 간 서비스 검색, 페더레이션 메시 간 통신 및 서비스 메시 간 트래픽(동-서 트래픽)을 관리합니다.
메시 간 이름 지정 충돌을 방지하려면 각 메시에 대해 별도의 송신 및 수신 게이트웨이를 생성해야 합니다. 예를 들어 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: type: |
클러스터가 |
| |
spec: gateways: additionalIngress: <ingressName>: service: metadata: labels: federation.maistra.io/ingress-for: | 연결된 트래픽이 클러스터의 기본 시스템 게이트웨이를 통과하지 못하도록 게이트웨이의 고유한 레이블을 지정합니다. | ||
spec: gateways: additionalIngress: <ingressName>: service: ports: |
|
포트 | |
spec: gateways: additionalIngress: <ingressName>: service: ports: nodePort: |
|
지정된 경우 |
다음 예에서 관리자는 NodePort
서비스를 사용하여 green-mesh
로 통합에 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