Enable direct gRPC connection on KAS via nginx

Issue: Implement gRPC ingress support (gitlab-org/cluster-integration/gitlab-agent#766) • Ashvin Sharma

What does this merge request do and why?

Enable direct gRPC connection on KAS via nginx

By default, gRPC communication on KAS is tunnelled in websocket connection. This change includes a flag which configures the nginx to handle gRPCs connections without the websocket tunnel.

Running this requires TLS and HTTP/2 enabled in GDK.

How to set up and validate locally

1. Enable TLS and HTTP/2 in NGINX
2. Enable gRPC for KAS

gdk config set gitlab_k8s_agent.grpc.enabled true
gdk reconfigure

3. Configure agentk to use grpc

--kas-address "grpcs://gdk.test:3000" --token-file "<PATH-TOKEN-FILE>"

Impacted categories

The following categories relate to this merge request:

Merge request checklist

  • This MR references an issue describing the change.
  • This change is backward compatible. If not, include steps to communicate to users.
  • Tests added for new functionality. If not, raise an issue to follow-up.
  • Observability added/updated (logging, metrics, tracing).
  • Documentation added/updated.
  • Announcement added for notable changes.
  • gdk doctor test added.
Edited by Ashvin Sharma

Merge request reports

Loading