1. Quick Debug Information
- OS/Version(e.g. RHEL8.6, Ubuntu22.04): Ubuntu 22.04
- Kernel Version: 5.15.0-1081-nvidia
- Container Runtime Type/Version(e.g. Containerd, CRI-O, Docker): containerd-1.7.25
- K8s Flavor/Version(e.g. K8s, OCP, Rancher, GKE, EKS): Kubernetes
- GPU Operator Version: v25.10.0
- NIM Operator Version: v3.0.1
- LLM NIM Versions: nvcr.io/nim/meta/llama-3.3-70b-instruct:1.12.0
2. Issue or feature description
Setting the following proxy settings to the NIMService:
---
apiVersion: apps.nvidia.com/v1alpha1
kind: NIMService
metadata:
name: llama-3-3-70b-instruct
spec:
image:
repository: nvcr.io/nim/meta/llama-3.3-70b-instruct
tag: "1.12.0"
pullPolicy: IfNotPresent
pullSecrets:
- nvcrimagepullsecret
authSecret: ngc-api
proxy:
httpProxy: "<REDACTED>"
httpsProxy: "<REDACTED>"
noProxy: "<REDACTED>"
storage:
nimCache:
name: llama-3-3-70b-instruct
replicas: 1
resources:
limits:
nvidia.com/gpu: "4"
requests:
nvidia.com/gpu: "4"
expose:
service:
type: ClusterIP
port: 8000
metrics:
enabled: true
scale:
enabled: false
Makes the reconciliation fail with the following error message:
nim-operator-k8s-nim-operator-5fcd5f57b-jvf4k manager {"level":"info","ts":"2025-11-03T14:16:18Z","logger":"controllers.NIMService","msg":"Reconciling NIMService instance","nimservice":"llama-3-3-70b-instruct"}
nim-operator-k8s-nim-operator-5fcd5f57b-jvf4k manager {"level":"error","ts":"2025-11-03T14:16:18Z","msg":"failed to sync","controller":"nimservice","controllerGroup":"apps.nvidia.com","controllerKind":"NIMService","NIMService":{"name":"llama-3-3-70b-instruct","namespace":"swiss-ai-platform"},"namespace":"swiss-ai-platform","name":"llama-3-3-70b-instruct","reconcileID":"9512f062-d314-4a41-af52-1c0bf354bf8d","Deployment":{"name":"llama-3-3-70b-instruct","namespace":"swiss-ai-platform"},"error":"Deployment.apps \"llama-3-3-70b-instruct\" is invalid: [spec.template.spec.volumes[3].configMap.name: Required value, spec.template.spec.initContainers[0].volumeMounts[1].name: Not found: \"custom-ca\"]","stacktrace":"github.com/NVIDIA/k8s-nim-operator/internal/controller/platform/standalone.(*NIMServiceReconciler).renderAndSyncResource\n\t/workspace/internal/controller/platform/standalone/nimservice.go:808\ngithub.com/NVIDIA/k8s-nim-operator/internal/controller/platform/standalone.(*NIMServiceReconciler).reconcileNIMService\n\t/workspace/internal/controller/platform/standalone/nimservice.go:476\ngithub.com/NVIDIA/k8s-nim-operator/internal/controller/platform/standalone.(*Standalone).Sync\n\t/workspace/internal/controller/platform/standalone/standalone.go:119\ngithub.com/NVIDIA/k8s-nim-operator/internal/controller.(*NIMServiceReconciler).Reconcile\n\t/workspace/internal/controller/nimservice_controller.go:179\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile\n\t/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:119\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:334\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:294\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2\n\t/workspace/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:255"}
It looks like the spec.proxy.certConfigMap would be required, but we don't need it in our infrastructure. How can we bypass this issue?
Currently, we are defining the proxy settings through http_proxy, https_proxy and no_proxy environment variables, and this is working just fine. We just wanted to switch to the more "supported" approach since NIM Operator v2.
Thanks in advance for your support!
1. Quick Debug Information
2. Issue or feature description
Setting the following proxy settings to the NIMService:
Makes the reconciliation fail with the following error message:
It looks like the spec.proxy.certConfigMap would be required, but we don't need it in our infrastructure. How can we bypass this issue?
Currently, we are defining the proxy settings through http_proxy, https_proxy and no_proxy environment variables, and this is working just fine. We just wanted to switch to the more "supported" approach since NIM Operator v2.
Thanks in advance for your support!