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/ngf/overview/gateway-architecture.md
+11-10
Original file line number
Diff line number
Diff line change
@@ -36,7 +36,7 @@ The NGINX Gateway Fabric architecture separates the control plane and data plane
36
36
37
37
### Control Plane: Centralized Management
38
38
39
-
The control plane operates as the `nginx-gateway` Deployment, serving as a [Kubernetes controller](https://kubernetes.io/docs/concepts/architecture/controller/) built with the [controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) library. It manages all aspects of resource provisioning and configuration for the NGINX data planes by watching Gateway API resources and other Kubernetes objects such as Services, Endpoints, and Secrets.
39
+
The control plane operates as a Deployment, serving as a [Kubernetes controller](https://kubernetes.io/docs/concepts/architecture/controller/) built with the [controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) library. It manages all aspects of resource provisioning and configuration for the NGINX data planes by watching Gateway API resources and other Kubernetes objects such as Services, Endpoints, and Secrets.
40
40
41
41
Key functionalities include:
42
42
@@ -49,7 +49,7 @@ Key functionalities include:
49
49
Each NGINX data plane pod is provisioned as an independent Deployment containing an `nginx` container. This container runs both the `nginx` process and the [NGINX agent](https://github.com/nginx/agent), which is responsible for:
50
50
51
51
- Applying configurations: The agent receives updates from the control plane and applies them to the NGINX instance.
52
-
- Handling reloads: Configuration reconciliation and reloads are executed remotely through the gRPC interface, eliminating the need for shared volumes or Unix signals between the control plane and data plane pods.
52
+
- Handling reloads: NGINX Agent handles configuration reconciliation and reloading NGINX, eliminating the need for shared volumes or Unix signals between the control plane and data plane pods.
53
53
54
54
With this design, multiple NGINX data planes can be managed by a single control plane, enabling fine-grained, Gateway-specific control and isolation.
55
55
@@ -58,7 +58,6 @@ With this design, multiple NGINX data planes can be managed by a single control
58
58
The architecture supports flexible operation and isolation across multiple Gateways:
59
59
60
60
- Concurrent Gateways: Multiple Gateway objects can run simultaneously within a single installation.
61
-
- Flexible Gateway management: Gateways can be managed via distinct GatewayClasses, allowing configuration isolation where needed.
62
61
- 1:1 resource mapping: Each Gateway resource corresponds uniquely to a dedicated data plane deployment, ensuring clear delineation of ownership and operational segregation.
63
62
64
63
### Resilience and Fault Isolation
@@ -296,18 +295,19 @@ graph TD
296
295
%% gRPC: Configuration Updates
297
296
NGFProcess -- "(6) Sends Config to Agent" --> NGINXAgent
classDef important fill:#66CDAA,stroke:#333,stroke-width:2px;
@@ -338,7 +338,8 @@ Prometheus is **not** required by NGINX Gateway Fabric, and its endpoint can be
338
338
- Agent calls GetFile for each file in the list, which NGF sends back to the agent.
339
339
1. (File I/O)
340
340
- Write: __NGINX Agent_ validates the received configuration, and then writes and applies the config if valid. It also writes _TLS certificates_ and _keys_ from [TLS secrets](https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets) referenced in the accepted Gateway resource.
341
-
1. (gRPC) Agent updates nginx, and responds with a DataPlaneResponse.
341
+
1. (Signal) To reload NGINX, Agent sends the reload signal to the NGINX master.
342
+
1. (gRPC) Agent responds to NGF with a DataPlaneResponse.
342
343
1. (File I/O)
343
344
- Read: The _NGINX master_ reads _configuration files_ and the _TLS cert and keys_ referenced in the configuration when it starts or during a reload.
0 commit comments