@@ -87,9 +87,34 @@ This split architecture ensures operational boundaries between the control plane
8787This figure depicts an example of NGINX Gateway Fabric exposing three web applications within a Kubernetes cluster to clients on the internet:
8888
8989``` mermaid
90- graph TD
90+ graph LR
9191 %% Nodes and Relationships
9292 subgraph KubernetesCluster[Kubernetes Cluster]
93+
94+ subgraph applications2[Namespace: applications2]
95+
96+ subgraph DataplaneComponentsC[Dataplane Components]
97+ GatewayC[Gateway C<br>Listener: *.other-example.com]
98+
99+ subgraph NGINXPodC[NGINX Pod]
100+ subgraph NGINXContainerC[NGINX Container]
101+ NGINXProcessC(NGINX)
102+ NGINXAgentC(NGINX Agent)
103+ end
104+ end
105+ end
106+
107+ subgraph HTTPRouteCAndApplicationC[HTTPRoute C and Application C]
108+ HTTPRouteC[HTTPRoute C<br>Host: c.other-example.com]
109+ ApplicationC[Application C<br>Pods: 1]
110+ end
111+
112+ end
113+
114+ subgraph nginx-gateway[Namespace: nginx-gateway]
115+ NGFPod[NGF Pod]
116+ end
117+
93118 subgraph applications1[Namespace: applications]
94119
95120 subgraph DataplaneComponentsAB[Dataplane Components]
@@ -103,42 +128,15 @@ graph TD
103128 end
104129 end
105130
106- subgraph HTTPRouteAAndApplicationA[HTTPRoute A and Application A]
107- HTTPRouteA[HTTPRoute A<br>Host: a.example.com]
108- subgraph ApplicationA[Application A]
109- Pod1[Pod]
110- Pod2[Pod]
111- end
112- end
113-
114131 subgraph HTTPRouteBAndApplicationB[HTTPRoute B and Application B]
115132 HTTPRouteB[HTTPRoute B<br>Host: b.example.com]
116133 ApplicationB[Application B<br>Pods: 1]
117134 end
118- end
119-
120- subgraph applications2[Namespace: applications2]
121-
122- subgraph DataplaneComponentsC[Dataplane Components]
123- GatewayC[Gateway C<br>Listener: *.other-example.com]
124-
125- subgraph NGINXPodC[NGINX Pod]
126- subgraph NGINXContainerC[NGINX Container]
127- NGINXProcessC(NGINX)
128- NGINXAgentC(NGINX Agent)
129- end
130- end
131- end
132135
133- subgraph HTTPRouteCAndApplicationC [HTTPRoute C and Application C ]
134- HTTPRouteC [HTTPRoute C <br>Host: c.other- example.com]
135- ApplicationC [Application C <br>Pods: 1 ]
136+ subgraph HTTPRouteAAndApplicationA [HTTPRoute A and Application A ]
137+ HTTPRouteA [HTTPRoute A <br>Host: a. example.com]
138+ ApplicationA [Application AB <br>Pods: 2 ]
136139 end
137-
138- end
139-
140- subgraph nginx-gateway[Namespace: nginx-gateway]
141- NGFPod[NGF Pod]
142140 end
143141
144142 KubernetesAPI[Kubernetes API]
@@ -253,12 +251,13 @@ For example, the Cluster Operator is denoted by the color green, indicating they
253251## NGINX Gateway Fabric: Component Communication Workflow
254252
255253``` mermaid
256- graph TD
254+ graph LR
257255 %% Main Components
258- NGFPod[NGF Pod]
259256 KubernetesAPI[Kubernetes API]
260257 PrometheusMonitor[Prometheus]
261258 F5Telemetry[F5 Telemetry Service]
259+ NGFPod[NGF Pod]
260+ NGINXPod[NGINX Pod]
262261 Client[Client]
263262 Backend[Backend]
264263
@@ -276,6 +275,13 @@ graph TD
276275 ContainerRuntimeNGF[stdout/stderr]
277276 end
278277
278+ %% External Components Grouping
279+ subgraph ExternalComponents[.]
280+ KubernetesAPI[Kubernetes API]
281+ PrometheusMonitor[Prometheus]
282+ F5Telemetry[F5 Telemetry Service]
283+ end
284+
279285 %% HTTPS: Communication with Kubernetes API
280286 NGFProcess -- "(1) Reads Updates" --> KubernetesAPI
281287 NGFProcess -- "(1) Writes Statuses" --> KubernetesAPI
@@ -294,7 +300,7 @@ graph TD
294300
295301 %% gRPC: Configuration Updates
296302 NGFProcess -- "(6) Sends Config to Agent" --> NGINXAgent
297- NGINXAgent -- "(7) Validates Config & Writes TLS Certs" --> ConfigFiles
303+ NGINXAgent -- "(7) Validates & Writes Config & TLS Certs" --> ConfigFiles
298304 NGINXAgent -- "(8) Reloads NGINX" --> NGINXMaster
299305 NGINXAgent -- "(9) Sends DataPlaneResponse" --> NGFProcess
300306
@@ -314,6 +320,7 @@ graph TD
314320 classDef metrics fill:#FFC0CB,stroke:#333,stroke-width:2px;
315321 classDef io fill:#FFD700,stroke:#333,stroke-width:2px;
316322 classDef signal fill:#87CEEB,stroke:#333,stroke-width:2px;
323+ style ExternalComponents fill:transparent,stroke-width:0px
317324
318325 %% Class Assignments for Node Colors
319326 class NGFPod,KubernetesAPI important;
0 commit comments