From c32889e9cfef32bc5863297d093aa449c179e6b6 Mon Sep 17 00:00:00 2001 From: Saylor Berman Date: Wed, 23 Oct 2024 14:20:30 -0600 Subject: [PATCH] Update data/control plane split design With the upcoming agent v3 release, the design for our control plane and data plane separation needs an update. Much of this is based off of discoveries from a recent PoC, as well as predicted design and implementation details that may be necessary. Added a new proposal that supersedes the old design. --- .../control-data-plane-separation/design.md | 2 + .../control-data-plane-split/README.md | 260 ++++++++++++++++++ .../control-data-plane-split/connect.png | Bin 0 -> 41723 bytes .../deployment-architecture.png | Bin 0 -> 93102 bytes .../control-data-plane-split/graph-conns.png | Bin 0 -> 22038 bytes 5 files changed, 262 insertions(+) create mode 100644 docs/proposals/control-data-plane-split/README.md create mode 100644 docs/proposals/control-data-plane-split/connect.png create mode 100644 docs/proposals/control-data-plane-split/deployment-architecture.png create mode 100644 docs/proposals/control-data-plane-split/graph-conns.png diff --git a/design/control-data-plane-separation/design.md b/design/control-data-plane-separation/design.md index ccd8be3a5..7d5959a34 100644 --- a/design/control-data-plane-separation/design.md +++ b/design/control-data-plane-separation/design.md @@ -1,5 +1,7 @@ # Separation of control and data plane +**Archived; Superseded by [Proposal 1508](https://github.com/nginxinc/nginx-gateway-fabric/tree/main/docs/proposals/control-data-plane-split/README.md)** + This document proposes a design for separating the control and data planes. Issue #292: https://github.com/nginxinc/nginx-gateway-fabric/issues/292 diff --git a/docs/proposals/control-data-plane-split/README.md b/docs/proposals/control-data-plane-split/README.md new file mode 100644 index 000000000..0789e8ec8 --- /dev/null +++ b/docs/proposals/control-data-plane-split/README.md @@ -0,0 +1,260 @@ +# Proposal-1508: Separation of control and data plane + +This document proposes a design for separating the control and data planes. + +- Issue https://github.com/nginxinc/nginx-gateway-fabric/issues/1508 +- Status: Implementable + +## Background + +NGF composes its control and data plane containers into a single Kubernetes Pod. The control plane uses OS signals and a +shared file system to configure and reload nginx. This architecture is problematic because the same RBAC policies govern +the control and data planes and share CVE potential. A compromised control plane may impact the customer’s traffic. The +Kubernetes API server may be affected if the data plane is compromised. In addition to security concerns, this +architecture does not allow the control plane and data plane to scale independently. + +An added benefit is that this architecture makes it possible for the control plane to provision the data plane, unlocking the ability to support multiple Gateways with a single control plane. + +## Goals + +- Data plane and control plane containers run in separate Pods +- The communication channel between the control and data planes can be encrypted +- Data planes can register with control plane +- Data plane can scale independently of the control plane +- RBAC policy for data plane follows the principle of least privilege. The data plane should not have access to the + Kubernetes API server. +- RBAC policy for control plane follows the principle of least privilege. +- Control plane provisions the data plane when a Gateway resource is created. + +## Design + +We will be using [NGINX Agent v3](https://github.com/nginx/agent/tree/v3) as our agent for the data plane. Our control plane and agent will connect to each other over a secure gRPC channel. The control plane will send nginx configuration updates over the channel using the agent's API, and the agent will write the files and reconfigure nginx. + +Whenever a user creates a Gateway resource, the control plane will provision an nginx deployment and service for that Gateway. The nginx/agent deployment will register itself with the control plane, and any Gateway API configuration that is created by a user for that Gateway will be sent to that nginx deployment. + +### Deployment Architecture + +![Deployment architecture](deployment-architecture.png) + +- _Control Plane Deployment_: The control plane is a Kubernetes Deployment with one container running the NGF + controller. The control plane will perform the same functions as it does today, but instead of + configuring nginx by writing files to a shared volume, it will send the configuration to the agent via gRPC. +- _Control Plane Service_: Exposes the control plane via a Kubernetes Service of type `ClusterIP`. The data plane will + use the DNS name of the Service to connect to the control plane. +- _Data Plane DaemonSet/Deployment_: The data plane can be deployed as either a DaemonSet or Deployment. The data + plane contains a single container running both the agent and nginx processes. The agent will download the + configuration from the control plane over a streaming RPC. +- _NGINX Service_: Exposes nginx via a Kubernetes Service of type `LoadBalancer .` This is the entry point for the + customer’s traffic. Note that this Service should not expose any of the agent’s ports. + +#### Further Requirements and Implementation Details + +- Both deployments should have read only filesystems. +- Both deployments should have the minimal permissions required to perform their functions. +- The nginx deployment should be configurable via the helm chart. + - Downside of this is that these options will apply to all nginx instances. + - We could introduce a CRD, but where would it attach? We already have NginxProxy which controls dynamic data plane configuration, and this may eventually attach to the Gateway instead of just the GatewayClass. Would a Deployment configuration fit in there, and would it be dynamic? That would require us to completely redeploy nginx if a user changes those settings. + - We could start with the helm chart option, and rely on user feedback to see if we need to get more granular. + - This could also involve creating a ConfigMap that the control plane consumes on startup and contains all nginx Deployment/Daemonset configuration, including NGINX Plus usage configuration. +- nginx Service should have configurable labels and annotations via the GatewayInfrastructure field in the Gateway resource. +- Control plane creates the nginx deployment and service when a Gateway resource is created, in the same namespace as the Gateway resource. When the Gateway is deleted, the control plane deletes nginx deployment and service. +- Control plane should label the nginx service and deployment with something related to the name of the Gateway so it can easily be linked. +- Liveness/Readiness probes: + - Control plane probe currently waits until we configure nginx. Going forward, this probe should just be when the control plane is ready to configure. + - nginx probe...can agent expose any type of health endpoint? This is not yet clear. +- Control plane should not restart data plane pods if they are unhealthy. + +### Agent Configuration + +Using [nginx-agent.conf](https://github.com/nginx/agent/blob/v3/nginx-agent.conf), we can configure the agent on startup. Note that this example conf file may not have all available options. At a minimum, it will need to be configured for the following: + +- command server is the NGF ClusterIP service + - tls settings for this connection +- prometheus metrics are exposed and available on the expected port (`9113`) and path (`/metrics`) + +### Connecting and Registering an Agent + +The control plane and agent will communicate over gRPC. The agent will establish a gRPC connection to the control plane +on start-up. The agent will gracefully retry to connect to the control plane, so the start order of the containers is +not an issue. The gRPC runtime will handle the connection establishment and management. If an error occurs or the stream or connection is dropped, the connection must be reestablished. + +#### Further Requirements and Implementation Details + +- The control plane will need to run a gRPC server for the agent to connect to. +- When an agent connects to the control plane, the payload _should_ contain the hostname (pod name) and nginx instanceID of the registering agent. This can be used to keep track of all agents/pods that are connected. + - We need to be able to link an agent connection with a subscription. These are two different gRPC calls. `Subscribe` is where we actually send an nginx config to an agent. We need to ensure that we are sending the correct nginx config to the correct agent. Ideally we use metadata from the agent connection (maybe hostname, maybe we need middleware to extract token/uuid from grpc connection headers) and store that in the context. The context is then used in the `Subscribe` call, where we can extract the agent identifier and send the proper nginx config for that identifier. + + Process: agent `Connects` to NGF. We get its identifier and pod name, add the identifier(s) to a context cache, track that connection, and create a subscription channel for it. Agent then `Subscribes`. The context passed in allows us to use the identifier to grab the proper subscription channel and listen on it. This channel will receive a `ConfigApplyRequest` when we have a new nginx config to write. + +- If a single nginx deployment is scaled, we should ensure that all instances for that deployment receive the same config (and aren't treated as "different"). +- Each graph that the control plane builds internally should be directly tied to an nginx deployment. +- Whenever the control plane sees an nginx instance become Ready, we send its config to it (it doesn't matter if this is a new pod or a restarted pod). +- If no nginx instances exist, control plane should not send any configuration. +- The control plane should check if a connection exists first before sending the config (all replicas, even non-leaders, should be able to send the config because the agent may connect to a non-leader). + - Different pods within an nginx deployment may connect to a different NGF control plane if the NGF control plane has also been scaled. So each NGF control plane may have a different list of connected agents that they would be sending to. However, each NGF pod should have the exact same internal graph of nginx configuration. + +Scaled connections + +### Agent API + +The control plane will need to implement the proper gRPC APIs in order to connect and send configuration to the agent. + +Useful references: + +- [Basic mock control plane](https://github.com/nginx/agent/tree/v3/test/mock/grpc) +- [Proto definitions](https://github.com/nginx/agent/blob/v3/docs/proto/protos.md) + +The gRPC services to implement in the control plane are: + +`CommandService`: this handles the connection and subscription to the agent. This will make a `ConfigApplyRequest` when we need to write nginx config. This request will contain a `FileOverview`, which is essentially a list of filenames that are to be sent. + +`FileService`: when the agent receives a `ConfigApplyRequest`, it sends a `GetFile` request to this service to download the file contents contained in the original `FileOverview`. + +Some API methods will not need to be implemented. For example, `UpdateFile` is used by the agent to send a file that was updated on the agent side to the control plane. In our case, this won't happen since our control plane has full control over the config. Methods relating to this functionality can be stubbed out. + +### Metrics + +Agent can be configured to expose metrics on a `/metrics` endpoint. Our control plane will need to configure agent to do this so that Prometheus can scrape each agent for nginx metrics. + +### NGINX Plus + +#### Upstream server state + +In the current implementation using NGINX Plus, when only upstream servers change, NGF writes the upstream servers in the nginx config, but does not reload. It then calls the NGINX Plus API to update the servers. This process allows us to update the upstream servers using the API and not have to reload nginx, while still having the upstream servers exist in the nginx config for easy debugging and consistency. However, when using agent, any config write will result in a reload. To preserve the ability to update upstreams with the API without needing a reload, we'll have to utilize a `state` file instead of writing the servers directly in the nginx config. This way the list of servers is still available on the filesystem for debugging, but is written by the nginx when making the API call instead of by the control plane directly. + +An example of what this looks like is defined [here](https://docs.nginx.com/nginx/admin-guide/load-balancer/dynamic-configuration-api/#configuring-persistence-of-dynamic-configuration). + +#### Secret duplication and synchronization + +There are multiple Secrets that an NGINX Plus user can and will be creating. These include: + +- JWT Secret for running NGINX Plus +- Docker Registry Secret for pulling NGINX Plus +- Client cert/key Secret for NIM connection +- CA cert Secret for NIM connection + +With the new architecture, a user should initially create those Secrets in the nginx-gateway namespace. The control plane will then need to duplicate these Secrets to any namespace where it deploys an nginx instance. This is because the Secrets are mounted to the nginx deployment. The control plane should also update the Secrets if the original Secrets are ever updated, meaning it will have to now watch for Secret updates. + +This process must be documented so users are aware that their Secrets are being duplicated into other namespaces. + +### Encryption + +The agent and control plane communication channel will be encrypted. We will store the server certificate, key pair, and +CA certificate in Kubernetes Secrets. The user will install the Secrets in the `nginx-gateway` namespace under the +following names: + +- `nginx-gateway-cert`: This Secret will contain the TLS certificate and private key that the control plane will use to + serve gRPC traffic. +- `nginx-agent-cert`: This Secret will contain the CA bundle that validates the control plane’s certificate. + +The Secrets will be mounted to the control plane and agent containers, respectively. If desired, we can make the Secret +names and mount path configurable via flags. For production, we will direct the user to provide their own certificates. +For development and testing purposes, we will provide a self-signed default certificate. In order to be secure by +default, NGF should generate the default certificates and keypair during installation using a Kubernetes Job. + +Using cert-manager may also be an easy option to reduce the burden of installing and rotating Secrets. + +#### Certificate Rotation + +Kubernetes automatically updates mounted Secrets when the content changes, but the control plane +and agent must make sure they are using the latest certificates. We can achieve this by providing a callback in +the [`tls.Config`][tls-config] for the gRPC server and client. + +[tls-config]: https://pkg.go.dev/crypto/tls#Config + +### Authorization + +The agent will use a Kubernetes ServiceAccount token to authenticate with the control plane. The control plane will +authenticate the token by sending a request to the Kubernetes [TokenReview API][token-review]. + +![Agent Connect](./connect.png) + +On start-up the agent will create a gRPC client and connect to the control plane +server using the server address, server token, and TLS options specified in the agent’s +configuration file (see [Agent Configuration](#agent-configuration)). This connection is secured by TLS; see the +[Encryption](#encryption) section for more information. The control plane will validate the token with +Kubernetes by sending a TokenReview API request. If the token is valid, the bidirectional streaming connection +between the agent and the control plane is established and left open for the lifetime of the agent. + +#### Long-lived token v/s bound token + +Long-lived tokens are JWT tokens for a ServiceAccount that are valid for the lifetime of the ServiceAccount. They are +stored in Secrets and can be mounted to a Pod as a file or an environment variable. We can use the TokenReview API to +verify the token. While long-lived tokens can still be created and used in Kubernetes, bound tokens are now the default +and preferred option. + +Bound ServiceAccount tokens are OpenID Connect (OIDC) identity tokens that are obtained directly from +the [TokenRequest API][token-request] and are mounted into Pods using a [projected volume][projected-volume]. Bound +tokens are more secure than long-lived tokens because they are time-bound, audience-bound, and object-bound. + +- Time-bound: Bound tokens expire after a configurable amount of time. The default is 1 hour. The kubelet will + periodically refresh the token before it expires. +- Audience-bound: Bound tokens are only valid for a specific audience. The audience is a string that identifies the + intended recipient of the token. +- Object-bound: Bound tokens are bound to the Pod. + +The TokenReview API only considers a bound token to be valid if the token is not expired, the audience of the token +matches the audience specified in the TokenReview API request, and the Pod that the token is bound to is still present +and running. + +Bound tokens expire, and are written to the filesystem by the kubelet. While bound tokens are more secure than +long-lived tokens, the agent needs to be modified to use them. The agent would need to be able to reload the tokens from +the filesystem periodically. That would require the following changes in the agent code: + +- Add a new configuration option to specify the path to the token file. Currently, the agent supports reading the token + from an environment variable or the configuration file, not from a file. +- Modify the gRPC client to fetch the token from a file before connecting to the control plane. Currently, the token is + loaded on start-up and never refreshed. If the agent reconnects to the control plane, it will use the same token + provided on start-up. + +The agent team has these tasks on their roadmap as of the date of writing this design. However, as a backup plan, we can use the long-lived tokens. + +To create the long-lived token, we will provide the following manifest: + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: nginx-agent-token-secret + annotations: + kubernetes.io/service-account.name: nginx-agent +type: kubernetes.io/service-account-token +``` + +And expose the token as an environment variable in the agent container: + +```yaml + env: + - name: AGENT_SERVER_TOKEN + valueFrom: + secretKeyRef: + name: nginx-agent-token-secret + key: token +``` + +The agent will load the token from the `$AGENT_SERVER_TOKEN` environment variable and add it to the `Authorization` +header of the gRPC request when connecting to the control plane. + +For a good comparison of long-lived and bound tokens, see [this blog post][bound-token-gke]. + +[token-review]: https://kubernetes.io/docs/reference/kubernetes-api/authentication-resources/token-review-v1/ + +[bound-token-gke]: https://cloud.google.com/blog/products/containers-kubernetes/kubernetes-bound-service-account-tokens + +[token-request]: https://kubernetes.io/docs/reference/kubernetes-api/authentication-resources/token-request-v1/ + +[projected-volume]: https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/#bound-service-account-token-volume + +## Edge Cases + +The following edge cases should be considered and tested during implementation: + +- The data plane fails to establish a connection with the control plane. +- Existing connections between data plane and control plane are terminated during a download event. + +In these cases, we expect the agent to be resilient. It should not crash or produce invalid config, and it should retry +when possible. + +## Performance + +Our NFR tests will help ensure that performance of scaling and configuration have not degraded. We also may want to enhance these tests to include scaling nginx deployments. diff --git a/docs/proposals/control-data-plane-split/connect.png b/docs/proposals/control-data-plane-split/connect.png new file mode 100644 index 0000000000000000000000000000000000000000..c6925433d48867c7f6cd8372b1ef1b175aa9aec6 GIT binary patch literal 41723 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 G>i+_Ws}^Yh literal 0 HcmV?d00001 diff --git a/docs/proposals/control-data-plane-split/deployment-architecture.png b/docs/proposals/control-data-plane-split/deployment-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..dee2126bc35bc76de20f74a07f4882632b9ca6f1 GIT binary patch literal 93102 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 XX|#NQ&A9ap_$Pf=K|KG@hfn?w0bE^G literal 0 HcmV?d00001 diff --git a/docs/proposals/control-data-plane-split/graph-conns.png b/docs/proposals/control-data-plane-split/graph-conns.png new file mode 100644 index 0000000000000000000000000000000000000000..bb41cd488e53fa54f625eef29454e2f44d8c5a5b GIT binary patch literal 22038 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 literal 0 HcmV?d00001