You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/patterns/hybrid-mesh-platform/_index.md
+21-13Lines changed: 21 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,31 +35,33 @@ contributor:
35
35
36
36
**Maintainer:** Maximiliano Pizarro, Specialist Solution Architect at Red Hat
37
37
38
-
This platform deploys in one `helm upgrade`, connects three OpenShift clusters (hub + east + west), and shows IoT sensor data across Grafana and Developer Hub within about 30 minutes. The pages below follow one continuous story — concept, install, operate, scaffold — so you can read straight through or jump to any chapter.
38
+
> **Your journey:**This platform deploys in one `helm upgrade`, connects three OpenShift clusters (hub + east + west), and shows IoT sensor data across Grafana and Developer Hub within about 30 minutes. The pages below follow one continuous story — concept, install, operate, scaffold — so you can read straight through or jump to any chapter.
39
39
40
-
Multi-cluster GitOps platform using Red Hat products — a hub-spoke topology that centralizes governance with Red Hat Advanced Cluster Management (ACM), delivers [Industrial Edge](/patterns/industrial-edge/) workloads on regional spokes, uses OpenShift Service Mesh in ambient mode for east-west connectivity, layers Connectivity Link (Kuadrant) for API-aware ingress policy, exposes Grafana dashboards for cross-cluster visibility, and integrates Advanced Cluster Security (ACS) for vulnerability and runtime protection.
40
+
**Hybrid Mesh Platform** is a multi-cluster GitOps platform using Red Hat products. It implements a hub-spoke topology that centralizes governance with Red Hat Advanced Cluster Management (ACM), delivers [Industrial Edge](/patterns/industrial-edge/) workloads on regional spokes, uses OpenShift Service Mesh in ambient mode for east-west connectivity, layers Connectivity Link (Kuadrant) for API-aware ingress policy, exposes Grafana dashboards for cross-cluster visibility, and integrates Advanced Cluster Security (ACS) for vulnerability and runtime protection.
41
41
42
-
**Supported on:** Red Hat OpenShift Container Platform 4.20 (and 4.14 or newer per cluster).
42
+
**Supported on:** Red Hat OpenShift Container Platform 4.20 (4.14 or newer per cluster).
43
43
44
-
Read **concept → mechanics → operations**: start with [Architecture](architecture), install via [Getting Started](getting-started), scaffold workloads via [Scaffolding](scaffolding), then use platform chapters (Hub Gateway, Observability, Industrial Edge) before drilling into the pattern repository.
44
+
Read **concept → mechanics → operations**: start with [Architecture](architecture), install via [Getting Started](getting-started), scaffold workloads via [Scaffolding](scaffolding), then use platform chapters (**Hub Gateway**, **Observability**, **Industrial Edge**) before drilling into the [pattern repository](https://github.com/maximilianopizarro/platform-hub-spoke-config).
45
45
46
46
## Overview
47
47
48
48
This repository models a **GitOps-first platform** where:
49
49
50
-
-**Hub cluster** runs ACM, OpenShift GitOps (Argo CD), observability aggregation, Developer Hub, ACS Central, Mailpit for notifications, and gateway-style HTTP routing with circuit breaking for shared services.
51
-
-**Spoke clusters** (east/west regions) host **Industrial Edge**workloads: sensor and MQTT-style ingestion, Kafka pipelines, optional ML scoring, and dashboards fed by Prometheus-compatible metrics.
50
+
-**Hub cluster** runs ACM, OpenShift GitOps (Argo CD), observability aggregation, Developer Hub, ACS Central, Mailpit for notifications, and gateway-style HTTP routing with **circuit breaking** for shared services.
51
+
-**Spoke clusters** (east/west regions) host **Industrial Edge**patterns: sensor and MQTT-style ingestion, Kafka pipelines, optional ML scoring, and dashboards fed by Prometheus-compatible metrics.
52
52
-**Service Mesh 3 ambient** reduces sidecar overhead while retaining ztunnel-based L4 and waypoint-based L7 policy where needed.
53
-
-**Hub Gateway** splits traffic into front and API services per spoke, with per-service **circuit breaking** via `DestinationRule`.
54
-
-**Service Interconnect (Skupper)** bridges spoke services and metrics to the hub via a Virtual Application Network, without VPN or firewall changes.
53
+
-**Hub Gateway** splits traffic into **front** and **API** services per spoke, with per-service **circuit breaking** via `DestinationRule`.
54
+
-**Service Interconnect (Skupper)** bridges spoke services and metrics to the hub via a Virtual Application Network (VAN), without VPN or firewall changes.
55
55
-**Spoke Gateways** aggregate Industrial Edge services per spoke for simplified cross-cluster exposure.
56
56
-**Kiali + OSSM Console** provides service mesh topology visualization on every cluster via the OpenShift Console plugin.
57
57
-**Grafana dashboards** roll up cluster and application signals from all clusters.
58
58
-**ACS** provides centralized policy, CVE visibility, and SecuredCluster agents on spokes.
_Hub cluster aggregates observability and Developer Hub; east and west spokes run Industrial Edge workloads connected via Service Interconnect (Skupper)._
62
+
_Hub cluster aggregates observability and Developer Hub; east and west spokes run Industrial Edge workloads connected via Service Interconnect (Skupper). Click the image to open the full diagram._
63
+
64
+
Architecture diagrams in this documentation illustrate Git, ACM, Skupper VAN, and Industrial Edge placement on east/west — use them as the visual companion to the install chapters.
63
65
64
66
## Quick links
65
67
@@ -71,16 +73,20 @@ _Hub cluster aggregates observability and Developer Hub; east and west spokes ru
6.[Industrial Edge](industrial-edge) — factory data pipeline on multiple spokes
85
+
6.[Industrial Edge](industrial-edge) — factory data pipeline: sensors, Kafka, Camel, ML on multiple spokes
86
+
87
+
Screenshots and architecture diagrams in the pattern repository support full-screen review — handy after deploying dashboards and verifying cross-cluster traffic.
88
+
89
+
**Next →**[Architecture](architecture) — understand how Git, ACM, and Skupper wire the three clusters together.
84
90
85
91
## Red Hat products used
86
92
@@ -96,3 +102,5 @@ _Hub cluster aggregates observability and Developer Hub; east and west spokes ru
Understand how Git, ACM, Service Interconnect, and Industrial Edge wire the hub and spoke clusters together before you install or scaffold workloads.
10
+
9
11
## Hub-spoke theory in multi-cluster Kubernetes
10
12
11
-
In multi-cluster Kubernetes, a hub-spoke model designates one administrative cluster (the hub) and one or more workload clusters (spokes). The hub owns fleet APIs: cluster inventory, policy placement, credentials for spoke registration, and often centralized GitOps controllers that fan out desired state.
13
+
In multi-cluster Kubernetes, a hub-spoke model designates one administrative cluster (the **hub**) and one or more workload clusters (**spokes**). The hub owns fleet APIs: cluster inventory, policy placement, credentials for spoke registration, and often centralized GitOps controllers that fan out desired state.
12
14
13
15
Spokes remain the execution venues for application namespaces, data-plane components (Kafka, MQTT bridges, mesh dataplane), and regional isolation for latency, data residency, or blast-radius control.
14
16
@@ -18,29 +20,45 @@ Spokes remain the execution venues for application namespaces, data-plane compon
18
20
| --- | --- |
19
21
| Centralized management | One control plane for membership, RBAC patterns, and bulk upgrades. |
20
22
| Policy enforcement | Kubernetes policies, compliance checks, and security baselines propagate from the hub. |
21
-
| Observability | Aggregated metrics, logging, and tracing strategies start at the hub and uniform dashboards span spokes. |
23
+
| Observability | Aggregated metrics, logging, and tracing strategies start at the hub; uniform dashboards span spokes. |
22
24
| GitOps consistency | A single Git revision strategy (with branch or overlay variants) drives spoke drift correction. |
23
25
24
26
## Platform architecture overview
25
27
26
-
Single `main` branch: hub chart at `.`, spoke charts at `east/` and `west/`, shared `components/` referenced by all clusters.
28
+
The pattern repository uses a **single `main` branch** with cluster-specific directories:
29
+
30
+
- Hub chart at `.` (repository root)
31
+
- Spoke charts at `east/` and `west/`
32
+
- Shared Helm charts under `components/` referenced by hub and spoke Application CRs
## Follow the request — one temperature reading end to end
33
39
34
-
When a machine sensor on the east spoke publishes a temperature sample, the path is: MQTT (`messaging` broker) → Camel K (`mqtt-to-kafka` integration) → Kafka (`dev-cluster` topic) → optional ML scoring (KServe) → line-dashboard WebSocket consumer. In parallel, Thanos Querier on east scrapes Istio and Kafka metrics; a Skupper Connector (`prometheus-east`) tunnels HTTP to the hub, where Grafana datasource `prometheus-east` plots the series. The Hub Gateway can route browser traffic to the east line-dashboard via spoke-gateway and Skupper listener `ie-gateway-east`. Developer Hub Topology shows the same pods when the catalog entity carries `backstage.io/kubernetes-cluster: east` and spoke API tokens are synced.
40
+
When a machine sensor on the **east** spoke publishes a temperature sample, the path is:
41
+
42
+
1. MQTT (`messaging` broker) → Camel K (`mqtt-to-kafka` integration)
43
+
2. Kafka (`dev-cluster` topic) → optional ML scoring (KServe)
44
+
3.`line-dashboard` WebSocket consumer
45
+
46
+
In parallel:
47
+
48
+
- Thanos Querier on east scrapes Istio and Kafka metrics
49
+
- Skupper Connector `prometheus-east` tunnels HTTP to the hub
50
+
- Hub Grafana datasource `prometheus-east` plots the series
51
+
- Hub Gateway routes browser traffic to the east line-dashboard via spoke-gateway and Skupper listener `ie-gateway-east`
52
+
- Developer Hub Topology shows the same pods when the catalog entity carries `backstage.io/kubernetes-cluster: east` and spoke API tokens are synced
35
53
36
54
[](/images/hybrid-mesh-platform/arch-data-flow.png)
Red Hat Service Interconnect creates a Virtual Application Network (VAN) that bridges services across clusters without VPN or direct network connectivity.
118
+
## Service Interconnect (Skupper) topology
81
119
82
-
Connectors expose spoke-gateway and prometheus-auth-proxy; Listeners materialize ClusterIP services on the hub.
120
+
Red Hat Service Interconnect creates a **Virtual Application Network (VAN)** that bridges services across clusters without VPN tunnels, direct routes, or firewall changes. Skupper exposes spoke Industrial Edge services and Prometheus metrics to the hub for centralized observability and ingress.
**Link establishment:** Hub `AccessGrant` generates URL, code, and CA. Spoke `AccessToken` redeems the grant over HTTPS, then establishes the inter-router link. Use the Skupper grant-server CA from `skupper-grant-server-ca` — not the OpenShift Ingress CA — or spokes fail with `x509: certificate signed by unknown authority`.
147
+
148
+
```bash
149
+
oc get secret skupper-grant-server-ca -n openshift-operators \
Each spoke runs a Gateway API gateway (`components/spoke-gateway`) that fronts all Industrial Edge services. Skupper exposes **one** gateway per spoke instead of every microservice individually.
93
158
94
159
## Multi-cluster observability pipeline
95
160
96
-
Spoke Thanos Querier is reached through nginx auth-proxy Connectors; hub Grafana uses HTTP datasources without bearer tokens.
161
+
Spoke Thanos Querier is reached through nginx auth-proxy Connectors. Hub Listeners `prometheus-east` and `prometheus-west` become Grafana HTTP datasources (no bearer token from hub).
Telemetry path on each spoke; MirrorMaker replicates to the hub-centralized MinIO data lake.
167
+
On each spoke, telemetry flows from sensors through MQTT, Camel, and Kafka to dashboards. Strimzi MirrorMaker replicates factory topics toward the hub-centralized data lake (MinIO/S3 archiver on hub and spokes).
103
168
104
169
## Comparison with Red Hat Validated Patterns
105
170
106
-
The [Multicloud GitOps](/patterns/multicloud-gitops) validated pattern demonstrates fleet GitOps with OpenShift GitOps and ACM patterns that resemble this repository's hub-push model: a declarative root Application, cluster grouping, and progressive rollout.
171
+
The [Multicloud GitOps](/patterns/multicloud-gitops) validated pattern demonstrates fleet GitOps with OpenShift GitOps and ACM: declarative root Application, cluster grouping, and progressive rollout.
172
+
173
+
**Hybrid Mesh Platform** extends that foundation with:
174
+
175
+
-[Industrial Edge](/patterns/industrial-edge/) on **east** and **west** spokes (not duplicated here — see maintained pattern for OT/factory depth)
- Connectivity Link for Gateway API ingress policy
178
+
- Optional OpenShift AI (KServe) on spokes
179
+
- ACS Central + SecuredCluster agents
180
+
- Service Interconnect for cross-cluster service and metrics exposure
181
+
182
+
The result is tuned for factory-style telemetry and east-west observability, not only infrastructure provisioning.
107
183
108
-
This platform extends that idea with [Industrial Edge](/patterns/industrial-edge/) workloads deployed on multiple spokes, Service Mesh ambient, Connectivity Link, optional OpenShift AI, ACS depth, and Service Interconnect for cross-cluster service exposure — tuned for factory-style telemetry and east-west observability rather than only infrastructure provisioning.
184
+
**Next →**[Getting Started](getting-started) to translate these diagrams into a live deployment, or [Hub Gateway](hub-gateway)for cross-cluster HTTP routing detail.
0 commit comments