Deploy the ZAPP Aggregator

Deploy the ZAPP Aggregator with Helm.

Deploy the ZAPP Aggregator before deploying ZAPP Listener instances.

The ZAPP Aggregator receives telemetry from listeners and exposes listener gRPC, UDP telemetry ingest, subscriber gRPC, metrics, and manifest endpoints.

ZAPP Aggregator values

Most deployments only need to review the image, replica count, ports, resources, metrics, and ServiceMonitor settings.

zappAggregator:
  enabled: true
  image:
    repository: nvcr.io/nvidia/zapp-aggregator
    tag: ""
    pullPolicy: IfNotPresent

  replicas: 1
  logLevel: info
  metricsPort: 8888
  manifestUI: true

  containerPorts:
    listenerGrpc: 9991
    udpTelemetry: 9992
    clientGrpc: 9999

  serviceMonitor:
    enabled: false
    interval: 30s

Important fields:

  • zappAggregator.image controls the ZAPP Aggregator image and tag
  • zappAggregator.replicas controls the ZAPP Aggregator StatefulSet replica count
  • zappAggregator.containerPorts.listenerGrpc is the listener connection port
  • zappAggregator.containerPorts.clientGrpc is the subscriber client port
  • zappAggregator.metricsPort serves /metrics, /manifest, and /manifest.json
  • zappAggregator.serviceMonitor.enabled creates a ServiceMonitor when the Prometheus Operator is installed

Install the ZAPP Aggregator

Create a values file for the ZAPP Aggregator, then install the chart.

kubectl create namespace <namespace>

helm upgrade --install zapp-aggregator <path-to-zapp-aggregator-chart> \
  --namespace <namespace> \
  --values aggregator-values.yaml \
  --set-string fullnameOverride=zapp

Using fullnameOverride=zapp for the ZAPP Aggregator chart produces the stable service name zapp-aggregator. If you use a different release name or override, set zapp.aggregatorHost in the zapp listener values to the ZAPP Aggregator gRPC service name and port that your chart renders.

Verify the ZAPP Aggregator

Check the Helm release and ZAPP Aggregator pod:

helm list --namespace <namespace>
kubectl get pods --namespace <namespace>

Port-forward the ZAPP Aggregator metrics service:

kubectl --namespace <namespace> port-forward svc/zapp-aggregator-metrics 8888:8888

Open http://localhost:8888/manifest or request metrics:

curl http://localhost:8888/metrics

After the ZAPP Aggregator is running, deploy ZAPP Listeners .