KubeCon EUBooth 1151, Amsterdam. March 23-26
Read Operator

Configuration

Configure the zxporter operator -- collection frequency, namespace filtering, GPU monitoring, and all available options.

Configuration

The Read Operator is configured via a CollectionPolicy CRD and environment variables set during installation. Most defaults work well for typical clusters.

Configuration Reference

Prop

Type

Namespace Filtering

By default, the operator collects from all namespaces. You can customize this:

Exclude specific namespaces:

# Via CollectionPolicy CRD
kubectl patch collectionpolicy default -n devzero-zxporter --type merge -p '{
  "spec": {"excludedNamespaces": ["kube-system", "monitoring", "istio-system"]}
}'

Only collect from specific namespaces (allowlist):

kubectl patch collectionpolicy default -n devzero-zxporter --type merge -p '{
  "spec": {"targetNamespaces": ["production", "staging"]}
}'

When targetNamespaces is set, excludedNamespaces is ignored.

Collection Frequency

The default 10-second interval provides high-resolution data. For large clusters (500+ nodes), consider increasing it:

kubectl patch collectionpolicy default -n devzero-zxporter --type merge -p '{
  "spec": {"collectionFrequency": "30s"}
}'

Reducing sampling rates will affect the efficiency and accuracy of recommendations.

GPU Monitoring

GPU metrics require the NVIDIA DCGM Exporter or GPU Operator to be running in your cluster. See the Quickstart GPU section for setup instructions.

If your cluster doesn't have GPUs, disable GPU metric collection to avoid unnecessary scrape errors:

kubectl patch collectionpolicy default -n devzero-zxporter --type merge -p '{
  "spec": {"disableGpuMetrics": true}
}'

Alternative Image Registries

By default, DevZero uses Docker Hub to host images. To use ECR instead, change devzeroinc to public.ecr.aws/devzeroinc:

docker pull public.ecr.aws/devzeroinc/zxporter

When using Helm charts:

helm upgrade ... --set image.repository=public.ecr.aws/devzeroinc

On this page