Troubleshooting
Common issues and solutions for the zxporter read-only operator.
Troubleshooting
Update zxporter
curl https://raw.githubusercontent.com/devzero-inc/zxporter/refs/heads/main/dist/installer_updater.yaml | kubectl apply -f -Increase Resource Requests
By default, zxporter requests 128Mi memory and 200m CPU. For large clusters, increase these:
kubectl patch deployment devzero-zxporter-controller-manager -n devzero-zxporter --patch '{
"spec": {
"template": {
"spec": {
"containers": [
{
"name": "manager",
"resources": {
"requests": {
"memory": "512Mi",
"cpu": "500m"
}
}
}
]
}
}
}
}'Remove zxporter
To completely remove the operator and all associated resources:
kubectl delete all --all -n devzero-zxporterResources Created by the Installer
When you install the zxporter operator, the following resources are created in the devzero-zxporter namespace:
Namespaces and Service Accounts
- Namespace:
devzero-zxporter - ServiceAccounts:
devzero-zxporter-controller-manager,prometheus-server,prometheus-kube-state-metrics,prometheus-prometheus-node-exporter
RBAC
- ClusterRoles:
devzero-zxporter-manager-roleresources,devzero-zxporter-collectionpolicy-editor-role,prometheus-server,prometheus-kube-state-metrics - Role:
devzero-zxporter-leader-election-role
Deployments
devzero-zxporter-controller-managerprometheus-kube-state-metricsprometheus-server
DaemonSets
prometheus-prometheus-node-exporternode-exporter-prometheus-node-exporter
Services
devzero-zxporter-controller-manager-metrics-serviceprometheus-serverprometheus-kube-state-metricsprometheus-prometheus-node-exporter
The operator reads only metadata and resource utilization data. No secrets or sensitive pod-level data is accessed.
Common Issues
Operator not connecting to the platform
-
Verify the cluster token is correct in the ConfigMap:
kubectl get configmap devzero-zxporter-env-config -n devzero-zxporter -o yaml -
Check operator logs for connection errors:
kubectl logs deployment/devzero-zxporter-controller-manager -n devzero-zxporter -
Ensure outbound HTTPS (port 443) traffic to
api.devzero.iois allowed.
Missing metrics for certain namespaces
Check if those namespaces are excluded in the CollectionPolicy:
kubectl get collectionpolicy -n devzero-zxporter -o yamlGPU metrics not appearing
-
Verify DCGM exporter pods are running:
kubectl get pods -A | grep dcgm -
Check that DCGM pods have the Prometheus scrape annotation:
kubectl get pods -A -l app=dcgm-exporter -o jsonpath='{.items[*].metadata.annotations.prometheus\.io/scrape}' -
If missing, patch the DaemonSet:
kubectl get daemonset -A -o json | jq -r '.items[] | select(.metadata.name | contains("dcgm-exporter")) | "\(.metadata.namespace) \(.metadata.name)"' | while read namespace daemonset; do kubectl patch daemonset $daemonset -n $namespace -p '{"spec":{"template":{"metadata":{"annotations":{"prometheus.io/scrape":"true"}}}}}' done