--- apiVersion: v1 items: - apiVersion: v1 kind: Pod metadata: annotations: kubectl.kubernetes.io/restartedAt: "2026-10-31T00:37:18Z" openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-10-31T02:34:12Z" generateName: ai-gateway-controller-8967cc4f- generation: 1 labels: app: ai-gateway-controller control-plane: ai-gateway-controller pod-template-hash: 8967cc4f managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/restartedAt: {} f:generateName: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"220d17e3-1d83-4b4c-a2fe-b9011b17bd59"}: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"LOG_DEVELOPMENT"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KUBE_AUTH_PROXY_IMAGE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"RELATED_IMAGE_ODH_PRAXIS_EXTPROC_IMAGE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8081,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":8443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:seccompProfile: .: {} f:type: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tmp/k8s-metrics-server/metrics-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"metrics-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-10-31T02:34:12Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:message: {} f:observedGeneration: {} f:reason: {} f:status: {} f:type: {} manager: kube-scheduler operation: Update subresource: status time: "2026-10-31T02:34:12Z" name: ai-gateway-controller-8967cc4f-khgds namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: ai-gateway-controller-8967cc4f uid: 220d17e3-1d83-4b4c-a2fe-b9011b17bd59 resourceVersion: "179313" uid: 49747f41-9468-4437-851c-178ad1e6de12 spec: containers: - args: - --leader-elect - --health-probe-bind-address=:8081 - --metrics-bind-address=:8443 - --metrics-secure=true - --image=$(RELATED_IMAGE_ODH_PRAXIS_EXTPROC_IMAGE) command: - /manager env: - name: LOG_DEVELOPMENT value: "false" - name: RELATED_IMAGE_ODH_PRAXIS_EXTPROC_IMAGE valueFrom: configMapKeyRef: key: praxis-extproc-image name: ai-gateway-controller-parameters optional: true - name: RELATED_IMAGE_ODH_KUBE_AUTH_PROXY_IMAGE valueFrom: configMapKeyRef: key: kube-auth-proxy-image name: ai-gateway-controller-parameters optional: true image: quay.io/opendatahub/odh-ai-gateway-controller:latest imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 8443 name: metrics protocol: TCP - containerPort: 8081 name: health protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 500m memory: 256Mi requests: cpu: 10m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsUser: 1000670000 seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-metrics-server/metrics-certs name: metrics-certs readOnly: true - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-2df49 readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: ai-gateway-controller-dockercfg-rndbc preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000670000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c10 seccompProfile: type: RuntimeDefault serviceAccount: ai-gateway-controller serviceAccountName: ai-gateway-controller terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: metrics-certs secret: defaultMode: 420 secretName: ai-gateway-controller-metrics-tls - name: kube-api-access-2df49 projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-10-31T02:34:12Z" message: '0/1 nodes are available: 1 node(s) had untolerated taint(s). no new claims to deallocate, preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling.' observedGeneration: 1 reason: Unschedulable status: "False" type: PodScheduled phase: Pending qosClass: Burstable - apiVersion: v1 kind: Pod metadata: annotations: kserve-module/config-hash: Z3Di75IYWloTO8iqcysFTDYAnOSnLNqDgBYbbqf7_KM kubectl.kubernetes.io/default-container: manager openshift.io/scc: openshift-ai-inferenceservice-image-volume-scc seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: serviceaccount creationTimestamp: "2026-10-31T02:34:11Z" generateName: kserve-controller-manager-776cc66d47- generation: 1 labels: app.kubernetes.io/name: kserve-controller-manager control-plane: kserve-controller-manager controller-tools.k8s.io: "1.0" pod-template-hash: 776cc66d47 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:kserve-module/config-hash: {} f:kubectl.kubernetes.io/default-container: {} f:generateName: {} f:labels: .: {} f:app.kubernetes.io/name: {} f:control-plane: {} f:controller-tools.k8s.io: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"b156c895-4d01-4d57-83b9-06284d6f3efe"}: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"POD_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"SECRET_NAME"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":9443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:privileged: {} f:readOnlyRootFilesystem: {} f:runAsNonRoot: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-10-31T02:34:11Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:message: {} f:observedGeneration: {} f:reason: {} f:status: {} f:type: {} manager: kube-scheduler operation: Update subresource: status time: "2026-10-31T02:34:11Z" name: kserve-controller-manager-776cc66d47-qjj9n namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: kserve-controller-manager-776cc66d47 uid: b156c895-4d01-4d57-83b9-06284d6f3efe resourceVersion: "179023" uid: b5416921-3f0c-4ae1-9927-5195c59d5197 spec: containers: - args: - --metrics-addr=:8443 - --metrics-secure - --leader-elect command: - /manager env: - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: SECRET_NAME value: kserve-webhook-server-cert image: quay.io/opendatahub/kserve-controller@sha256:6e72a4ac896e998acf222204e10868106932adfbfd0dafdc0a9c1e4d58d0627d imagePullPolicy: Always livenessProbe: failureThreshold: 5 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 name: manager ports: - containerPort: 8443 name: metrics protocol: TCP - containerPort: 9443 name: webhook-server protocol: TCP readinessProbe: failureThreshold: 5 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 30 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 resources: limits: cpu: 500m memory: 500Mi requests: cpu: 100m memory: 200Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL privileged: false readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000670000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-g6xp2 readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: kserve-controller-manager-dockercfg-69xvh preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true seLinuxOptions: level: s0:c26,c10 seccompProfile: type: RuntimeDefault serviceAccount: kserve-controller-manager serviceAccountName: kserve-controller-manager terminationGracePeriodSeconds: 10 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: cert secret: defaultMode: 420 secretName: kserve-webhook-server-cert - name: kube-api-access-g6xp2 projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-10-31T02:34:11Z" message: '0/1 nodes are available: 1 node(s) had untolerated taint(s). no new claims to deallocate, preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling.' observedGeneration: 1 reason: Unschedulable status: "False" type: PodScheduled phase: Pending qosClass: Burstable - apiVersion: v1 kind: Pod metadata: annotations: kubectl.kubernetes.io/default-container: manager openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-10-31T02:34:12Z" generateName: kserve-module-controller-manager-7566cf5fc8- generation: 1 labels: app.kubernetes.io/component: controller app.kubernetes.io/name: kserve-module-controller-manager control-plane: kserve-module-controller-manager pod-template-hash: 7566cf5fc8 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/default-container: {} f:generateName: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"76332040-63fd-4bee-9368-b27ce2e4f3b6"}: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"APPLICATIONS_NAMESPACE"}: .: {} f:name: {} f:value: {} k:{"name":"MONITORING_NAMESPACE"}: .: {} f:name: {} f:value: {} k:{"name":"ODH_MODULE_OPERATOR_PLATFORM_TYPE"}: .: {} f:name: {} f:value: {} k:{"name":"POD_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"RELATED_IMAGE_ODH_GUARDRAILS_DETECTOR_HUGGINGFACE_RUNTIME_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_AGENT_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_AUTOGLUON_SERVER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_CONTROLLER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_LLMISVC_CONTROLLER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_LOCALMODEL_CONTROLLER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_LOCALMODELNODE_AGENT_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_ROUTER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_STORAGE_INITIALIZER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KUBE_RBAC_PROXY_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_LLM_D_ROUTER_DISAGG_SIDECAR_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_LLM_D_ROUTER_ENDPOINT_PICKER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_MLSERVER_CUDA_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_MLSERVER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_MODEL_CONTROLLER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_MODEL_SERVING_API_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_OPENVINO_MODEL_SERVER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_WORKLOAD_VARIANT_AUTOSCALER_CONTROLLER_IMAGE"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:privileged: {} f:readOnlyRootFilesystem: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/pki/tls/custom"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/opt/manifests"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/tmp"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"manifests"}: .: {} f:emptyDir: .: {} f:sizeLimit: {} f:name: {} k:{"name":"tmp"}: .: {} f:emptyDir: {} f:name: {} k:{"name":"trusted-ca"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:optional: {} f:name: {} manager: kube-controller-manager operation: Update time: "2026-10-31T02:34:12Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:message: {} f:observedGeneration: {} f:reason: {} f:status: {} f:type: {} manager: kube-scheduler operation: Update subresource: status time: "2026-10-31T02:34:12Z" name: kserve-module-controller-manager-7566cf5fc8-mlbt7 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: kserve-module-controller-manager-7566cf5fc8 uid: 76332040-63fd-4bee-9368-b27ce2e4f3b6 resourceVersion: "179301" uid: c4821ab5-e71e-443a-9d01-2509eb021a43 spec: containers: - args: - --leader-elect command: - /manager env: - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: RELATED_IMAGE_ODH_GUARDRAILS_DETECTOR_HUGGINGFACE_RUNTIME_IMAGE value: quay.io/opendatahub/guardrails-detector-huggingface-runtime@sha256:01de40dc221e33ed5e3668e1a4e5c0158ed875a8f50d40406f86b4fffe1d241f - name: RELATED_IMAGE_ODH_KSERVE_AUTOGLUON_SERVER_IMAGE value: quay.io/opendatahub/odh-kserve-autogluon-server@sha256:77351b5f013c84b0ea2dcfb598d1a43c12b5d9234578b9e384bf5be75642a53d - name: RELATED_IMAGE_ODH_KSERVE_AGENT_IMAGE value: quay.io/opendatahub/kserve-agent@sha256:338b6e94c77cd8db0cdb045bc6af9d1a468a57dfdeec401dd948eaa31bd4135f - name: RELATED_IMAGE_ODH_KSERVE_CONTROLLER_IMAGE value: quay.io/opendatahub/kserve-controller@sha256:6e72a4ac896e998acf222204e10868106932adfbfd0dafdc0a9c1e4d58d0627d - name: RELATED_IMAGE_ODH_KSERVE_LLMISVC_CONTROLLER_IMAGE value: quay.io/opendatahub/odh-kserve-llmisvc-controller@sha256:be3760deb2e1570f182db0819a98b4cebd1de04de25b8c9bdd0b38396f0be321 - name: RELATED_IMAGE_ODH_KSERVE_LOCALMODEL_CONTROLLER_IMAGE value: quay.io/opendatahub/odh-kserve-localmodel-controller@sha256:47dad2ce1a051f08c0bb1bde686d1cee3eb9e9f2b5691421fabeff60fd1d3643 - name: RELATED_IMAGE_ODH_KSERVE_LOCALMODELNODE_AGENT_IMAGE value: quay.io/opendatahub/odh-kserve-localmodelnode-agent@sha256:29093f2009ec31e2d9e7474ea34923d2a93a4983fe0faa46ade5dfbec9e39991 - name: RELATED_IMAGE_ODH_KSERVE_ROUTER_IMAGE value: quay.io/opendatahub/kserve-router@sha256:c0e3adf9508c7da4a58adffde0d9973f500ddf9e53eb3dd8eca3eee4d24b02d1 - name: RELATED_IMAGE_ODH_KSERVE_STORAGE_INITIALIZER_IMAGE value: quay.io/opendatahub/kserve-storage-initializer@sha256:2be4dcd6b383a701feb7e0e5a7d4f9ebb72d2dd9316fa9cb6163450aa3206601 - name: RELATED_IMAGE_ODH_KUBE_RBAC_PROXY_IMAGE value: quay.io/opendatahub/odh-kube-rbac-proxy@sha256:acd9de62b8339dbacd39635317e5e596e09a70ae26ac9eccdde4a4124388740f - name: RELATED_IMAGE_ODH_LLM_D_ROUTER_DISAGG_SIDECAR_IMAGE value: quay.io/opendatahub/odh-llm-d-router-disagg-sidecar@sha256:4cad555ba22920e31812aa1afd4250e506ed93599dc283f526562e0659edce19 - name: RELATED_IMAGE_ODH_LLM_D_ROUTER_ENDPOINT_PICKER_IMAGE value: quay.io/opendatahub/odh-llm-d-router-endpoint-picker@sha256:5fe24a45d9c8039b6db33e8be331dab766610e6eb60f9d2bec1ecc1153ca8827 - name: RELATED_IMAGE_ODH_MLSERVER_IMAGE value: quay.io/opendatahub/mlserver@sha256:bbf0ba6e43579214ca14f4364801a291546a630e124e59b02dedaff6d5cab545 - name: RELATED_IMAGE_ODH_MLSERVER_CUDA_IMAGE value: quay.io/opendatahub/odh-mlserver-cuda@sha256:bc2f0e7070b2a2e2f3457b39c44fb6b62fb10e314bb8d74765b1a22516550d9c - name: RELATED_IMAGE_ODH_MODEL_CONTROLLER_IMAGE value: quay.io/opendatahub/odh-model-controller@sha256:94f7f4383ef91d10d60d82c0858a60158a02915fdd3000d507210139faaac775 - name: RELATED_IMAGE_ODH_MODEL_SERVING_API_IMAGE value: quay.io/opendatahub/odh-model-serving-api@sha256:dc6ced7ac752d3770e31e3e83f4f9a6c793de5b9b04dde0d194d021020cef8e8 - name: RELATED_IMAGE_ODH_OPENVINO_MODEL_SERVER_IMAGE value: quay.io/opendatahub/openvino_model_server@sha256:aea6779e5fa366a33e02cf5f8c1937cb4ad5feeb18dae12b0619b2e775168da2 - name: RELATED_IMAGE_ODH_WORKLOAD_VARIANT_AUTOSCALER_CONTROLLER_IMAGE value: quay.io/opendatahub/workload-variant-autoscaler@sha256:4ad63eb0f436c7c8a719fd8d55f5fb09fcbe9ab5279998c29c58333d42667f57 - name: APPLICATIONS_NAMESPACE value: opendatahub - name: MONITORING_NAMESPACE value: opendatahub - name: ODH_MODULE_OPERATOR_PLATFORM_TYPE value: Open Data Hub image: quay.io/opendatahub/odh-kserve-module-operator@sha256:b8becaa017a2a2ec9af002989e8f14a8a2f96ffad292f37a61569343b1101189 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 10 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 5 name: manager readinessProbe: failureThreshold: 15 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 resources: limits: cpu: 500m memory: 1Gi requests: cpu: 100m memory: 256Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL privileged: false readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000670000 seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /opt/manifests name: manifests - mountPath: /tmp name: tmp - mountPath: /etc/pki/tls/custom name: trusted-ca readOnly: true - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-wbgm8 readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: kserve-module-controller-manager-dockercfg-kdzs9 preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000670000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c10 seccompProfile: type: RuntimeDefault serviceAccount: kserve-module-controller-manager serviceAccountName: kserve-module-controller-manager terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - emptyDir: sizeLimit: 256Mi name: manifests - emptyDir: {} name: tmp - configMap: defaultMode: 420 name: odh-trusted-ca-bundle optional: true name: trusted-ca - name: kube-api-access-wbgm8 projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-10-31T02:34:12Z" message: '0/1 nodes are available: 1 node(s) had untolerated taint(s). no new claims to deallocate, preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling.' observedGeneration: 1 reason: Unschedulable status: "False" type: PodScheduled phase: Pending qosClass: Burstable - apiVersion: v1 kind: Pod metadata: annotations: kubectl.kubernetes.io/default-container: manager openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-10-31T02:34:10Z" generateName: llmisvc-controller-manager-6466c554d8- generation: 1 labels: app.kubernetes.io/component: controller app.kubernetes.io/name: llmisvc-controller-manager control-plane: llmisvc-controller-manager controller-tools.k8s.io: "1.0" pod-template-hash: 6466c554d8 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/default-container: {} f:generateName: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:control-plane: {} f:controller-tools.k8s.io: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"1ed9b546-3862-41a1-a2f2-107b2fd93080"}: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"LLM_INFERENCE_SERVICE_CONFIG_PREFIX"}: .: {} f:name: {} f:value: {} k:{"name":"POD_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":9443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:privileged: {} f:readOnlyRootFilesystem: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-10-31T02:34:10Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:message: {} f:observedGeneration: {} f:reason: {} f:status: {} f:type: {} manager: kube-scheduler operation: Update subresource: status time: "2026-10-31T02:34:10Z" name: llmisvc-controller-manager-6466c554d8-tqkk8 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: llmisvc-controller-manager-6466c554d8 uid: 1ed9b546-3862-41a1-a2f2-107b2fd93080 resourceVersion: "178684" uid: 92b51450-96be-435a-be3f-bf39b4437ed6 spec: containers: - args: - --metrics-addr=:8443 - --metrics-secure - --leader-elect command: - /manager env: - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: LLM_INFERENCE_SERVICE_CONFIG_PREFIX value: v3-6-0-ea-2-kserve- image: quay.io/opendatahub/odh-kserve-llmisvc-controller@sha256:be3760deb2e1570f182db0819a98b4cebd1de04de25b8c9bdd0b38396f0be321 imagePullPolicy: Always livenessProbe: failureThreshold: 5 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 name: manager ports: - containerPort: 9443 name: webhook-server protocol: TCP - containerPort: 8443 name: metrics protocol: TCP readinessProbe: failureThreshold: 5 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 30 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 resources: limits: cpu: "2" memory: 300Mi requests: cpu: "1" memory: 300Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL privileged: false readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000670000 seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-zr2tc readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: llmisvc-controller-manager-dockercfg-6fdv6 preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000670000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c10 seccompProfile: type: RuntimeDefault serviceAccount: llmisvc-controller-manager serviceAccountName: llmisvc-controller-manager terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: cert secret: defaultMode: 420 secretName: llmisvc-webhook-server-cert - name: kube-api-access-zr2tc projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-10-31T02:34:10Z" message: '0/1 nodes are available: 1 node(s) had untolerated taint(s). no new claims to deallocate, preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling.' observedGeneration: 1 reason: Unschedulable status: "False" type: PodScheduled phase: Pending qosClass: Burstable - apiVersion: v1 kind: Pod metadata: annotations: kubectl.kubernetes.io/restartedAt: "2026-10-31T00:34:46Z" openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-10-31T02:34:13Z" generateName: maas-controller-c6c5b9684- generation: 1 labels: app: maas-controller control-plane: maas-controller pod-template-hash: c6c5b9684 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/restartedAt: {} f:generateName: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"8bb0ca95-21b6-475a-9b69-2b49a66b809f"}: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"AITENANT_NAMESPACE"}: .: {} f:name: {} f:value: {} k:{"name":"CONTROLLER_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"GATEWAY_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"GATEWAY_NAMESPACE"}: .: {} f:name: {} f:value: {} k:{"name":"INFRA_NAMESPACE"}: .: {} f:name: {} f:value: {} k:{"name":"MAAS_DISCOVERY_ENABLED"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"MAAS_DISCOVERY_LOG_LEVEL"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"MAAS_DISCOVERY_REPLICAS"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"MAAS_SUBSCRIPTION_NAMESPACE"}: .: {} f:name: {} f:value: {} k:{"name":"MONITORING_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"RELATED_IMAGE_ODH_AI_GATEWAY_PAYLOAD_PROCESSING_IMAGE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"RELATED_IMAGE_ODH_MAAS_API_IMAGE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"RELATED_IMAGE_ODH_MAAS_DISCOVERY_IMAGE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"RELATED_IMAGE_ODH_PYTHON_312_IMAGE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"RELATED_IMAGE_UBI_MINIMAL_IMAGE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:seccompProfile: .: {} f:type: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tmp/k8s-metrics-server/metrics-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"metrics-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"webhook-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-10-31T02:34:13Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:message: {} f:observedGeneration: {} f:reason: {} f:status: {} f:type: {} manager: kube-scheduler operation: Update subresource: status time: "2026-10-31T02:34:13Z" name: maas-controller-c6c5b9684-47s69 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: maas-controller-c6c5b9684 uid: 8bb0ca95-21b6-475a-9b69-2b49a66b809f resourceVersion: "179454" uid: ef4e0a9d-23be-466d-924a-1871df1972d3 spec: containers: - args: - --leader-elect - --health-probe-bind-address=:8081 - --metrics-bind-address=:8443 - --metrics-secure=true - --controller-namespace=$(CONTROLLER_NAMESPACE) - --gateway-name=$(GATEWAY_NAME) - --gateway-namespace=$(GATEWAY_NAMESPACE) - --infra-namespace=$(INFRA_NAMESPACE) - --maas-subscription-namespace=$(MAAS_SUBSCRIPTION_NAMESPACE) - --aitenant-namespace=$(AITENANT_NAMESPACE) - --monitoring-namespace=$(MONITORING_NAMESPACE) - --enable-tenant-namespace-discovery - --metadata-cache-ttl=60 - --authz-cache-ttl=60 - --log-format=otel-json command: - /manager env: - name: CONTROLLER_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: GATEWAY_NAME value: maas-default-gateway - name: GATEWAY_NAMESPACE value: openshift-ingress - name: INFRA_NAMESPACE value: AUTO - name: MAAS_SUBSCRIPTION_NAMESPACE value: models-as-a-service - name: AITENANT_NAMESPACE value: ai-tenants - name: RELATED_IMAGE_ODH_MAAS_API_IMAGE valueFrom: configMapKeyRef: key: maas-api-image name: maas-parameters optional: true - name: RELATED_IMAGE_ODH_AI_GATEWAY_PAYLOAD_PROCESSING_IMAGE valueFrom: configMapKeyRef: key: payload-processing-image name: maas-parameters optional: true - name: RELATED_IMAGE_UBI_MINIMAL_IMAGE valueFrom: configMapKeyRef: key: maas-api-key-cleanup-image name: maas-parameters optional: true - name: RELATED_IMAGE_ODH_PYTHON_312_IMAGE valueFrom: configMapKeyRef: key: usage-logs-tenancy-proxy-image name: maas-parameters optional: true - name: RELATED_IMAGE_ODH_MAAS_DISCOVERY_IMAGE valueFrom: configMapKeyRef: key: maas-discovery-image name: maas-parameters optional: true - name: MAAS_DISCOVERY_ENABLED valueFrom: configMapKeyRef: key: maas-discovery-enabled name: maas-parameters optional: true - name: MAAS_DISCOVERY_REPLICAS valueFrom: configMapKeyRef: key: maas-discovery-replicas name: maas-parameters optional: true - name: MAAS_DISCOVERY_LOG_LEVEL valueFrom: configMapKeyRef: key: maas-discovery-log-level name: maas-parameters optional: true - name: MONITORING_NAMESPACE valueFrom: configMapKeyRef: key: monitoring-namespace name: maas-parameters optional: true image: quay.io/opendatahub/maas-controller@sha256:45f77c950c260ee8efb403c855f8491cf8e4d9f8aad8f0a1557003a1a2a0bfdd imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 8443 name: metrics protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 500m memory: 512Mi requests: cpu: 10m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsUser: 1000670000 seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert readOnly: true - mountPath: /tmp/k8s-metrics-server/metrics-certs name: metrics-certs readOnly: true - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-dgz5m readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: maas-controller-dockercfg-tnq85 preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000670000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c10 seccompProfile: type: RuntimeDefault serviceAccount: maas-controller serviceAccountName: maas-controller terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: webhook-cert secret: defaultMode: 420 secretName: maas-controller-webhook-cert - name: metrics-certs secret: defaultMode: 420 secretName: maas-controller-metrics-tls - name: kube-api-access-dgz5m projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-10-31T02:34:13Z" message: '0/1 nodes are available: 1 node(s) had untolerated taint(s). no new claims to deallocate, preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling.' observedGeneration: 1 reason: Unschedulable status: "False" type: PodScheduled phase: Pending qosClass: Burstable - apiVersion: v1 kind: Pod metadata: annotations: openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-10-31T02:34:11Z" generateName: model-serving-api-75bd89fdfc- generation: 1 labels: app: model-serving-api app.kubernetes.io/component: server app.kubernetes.io/name: model-serving-api app.kubernetes.io/part-of: odh-model-controller pod-template-hash: 75bd89fdfc managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:generateName: {} f:labels: .: {} f:app: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"31e06363-6104-4454-8c86-a23d8ac86f58"}: {} f:spec: f:containers: k:{"name":"server"}: .: {} f:env: .: {} k:{"name":"GATEWAY_LABEL_SELECTOR"}: .: {} f:name: {} k:{"name":"TLS_CERT_DIR"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8080,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":8443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tls"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:topologySpreadConstraints: .: {} k:{"topologyKey":"kubernetes.io/hostname","whenUnsatisfiable":"ScheduleAnyway"}: .: {} f:labelSelector: {} f:maxSkew: {} f:topologyKey: {} f:whenUnsatisfiable: {} k:{"topologyKey":"topology.kubernetes.io/zone","whenUnsatisfiable":"ScheduleAnyway"}: .: {} f:labelSelector: {} f:maxSkew: {} f:topologyKey: {} f:whenUnsatisfiable: {} f:volumes: .: {} k:{"name":"tls-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-10-31T02:34:11Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:message: {} f:observedGeneration: {} f:reason: {} f:status: {} f:type: {} manager: kube-scheduler operation: Update subresource: status time: "2026-10-31T02:34:11Z" name: model-serving-api-75bd89fdfc-prfv5 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: model-serving-api-75bd89fdfc uid: 31e06363-6104-4454-8c86-a23d8ac86f58 resourceVersion: "178826" uid: 6678ace4-7e68-4f51-836e-9dac87f140bd spec: containers: - env: - name: TLS_CERT_DIR value: /tls - name: GATEWAY_LABEL_SELECTOR image: quay.io/opendatahub/odh-model-serving-api@sha256:dc6ced7ac752d3770e31e3e83f4f9a6c793de5b9b04dde0d194d021020cef8e8 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8443 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 name: server ports: - containerPort: 8443 name: https protocol: TCP - containerPort: 8080 name: metrics protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8443 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 500m memory: 1Gi requests: cpu: 50m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsUser: 1000670000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tls name: tls-certs readOnly: true - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-xp5hr readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: model-serving-api-dockercfg-mq7js preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000670000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c10 seccompProfile: type: RuntimeDefault serviceAccount: model-serving-api serviceAccountName: model-serving-api terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists topologySpreadConstraints: - labelSelector: matchLabels: app: model-serving-api app.kubernetes.io/component: server app.kubernetes.io/name: model-serving-api app.kubernetes.io/part-of: odh-model-controller maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: ScheduleAnyway - labelSelector: matchLabels: app: model-serving-api app.kubernetes.io/component: server app.kubernetes.io/name: model-serving-api app.kubernetes.io/part-of: odh-model-controller maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: ScheduleAnyway volumes: - name: tls-certs secret: defaultMode: 420 secretName: model-serving-api-tls - name: kube-api-access-xp5hr projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-10-31T02:34:11Z" message: '0/1 nodes are available: 1 node(s) had untolerated taint(s). no new claims to deallocate, preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling.' observedGeneration: 1 reason: Unschedulable status: "False" type: PodScheduled phase: Pending qosClass: Burstable - apiVersion: v1 kind: Pod metadata: annotations: kubectl.kubernetes.io/default-container: manager openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-10-31T02:34:11Z" generateName: odh-model-controller-769875db56- generation: 1 labels: app: odh-model-controller control-plane: odh-model-controller pod-template-hash: 769875db56 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/default-container: {} f:generateName: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"c9aa0534-43f1-4358-b520-feef22cbc170"}: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"GOMEMLIMIT"}: .: {} f:name: {} f:value: {} k:{"name":"KSERVE_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"MODELREGISTRY_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"NIM_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"POD_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":9443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tmp/k8s-metrics-server/metrics-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"metrics-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-10-31T02:34:11Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:message: {} f:observedGeneration: {} f:reason: {} f:status: {} f:type: {} manager: kube-scheduler operation: Update subresource: status time: "2026-10-31T02:34:11Z" name: odh-model-controller-769875db56-mzcn9 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: odh-model-controller-769875db56 uid: c9aa0534-43f1-4358-b520-feef22cbc170 resourceVersion: "178926" uid: f279a007-db85-4fd1-99f4-f175c3e019db spec: containers: - args: - --metrics-bind-address=:8443 - --leader-elect - --health-probe-bind-address=:8081 command: - /manager env: - name: GOMEMLIMIT value: 1800MiB - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: NIM_STATE value: removed - name: KSERVE_STATE value: managed - name: MODELREGISTRY_STATE value: removed image: quay.io/opendatahub/odh-model-controller@sha256:94f7f4383ef91d10d60d82c0858a60158a02915fdd3000d507210139faaac775 imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 9443 name: webhook-server protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 500m memory: 2Gi requests: cpu: 10m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsUser: 1000670000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true - mountPath: /tmp/k8s-metrics-server/metrics-certs name: metrics-certs readOnly: true - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-5gx6w readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: odh-model-controller-dockercfg-p8dfr preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000670000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c10 seccompProfile: type: RuntimeDefault serviceAccount: odh-model-controller serviceAccountName: odh-model-controller terminationGracePeriodSeconds: 10 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: cert secret: defaultMode: 420 secretName: odh-model-controller-webhook-cert - name: metrics-certs secret: defaultMode: 420 secretName: odh-model-controller-metrics-tls - name: kube-api-access-5gx6w projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-10-31T02:34:11Z" message: '0/1 nodes are available: 1 node(s) had untolerated taint(s). no new claims to deallocate, preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling.' observedGeneration: 1 reason: Unschedulable status: "False" type: PodScheduled phase: Pending qosClass: Burstable - apiVersion: v1 kind: Pod metadata: annotations: openshift.io/scc: nonroot-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: serviceaccount creationTimestamp: "2026-10-31T02:34:11Z" generateName: usage-logs-tenancy-proxy-9c5d49bcd- generation: 1 labels: app: usage-tenancy-proxy pod-template-hash: 9c5d49bcd managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:generateName: {} f:labels: .: {} f:app: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"7fae6744-b55f-4ae2-8b2b-69322265eb16"}: {} f:spec: f:containers: k:{"name":"proxy"}: .: {} f:command: {} f:env: .: {} k:{"name":"LOG_LEVEL"}: .: {} f:name: {} f:value: {} k:{"name":"LOKI_GATEWAY_SERVICE"}: .: {} f:name: {} f:value: {} k:{"name":"NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"OPENSSL_CONF"}: .: {} f:name: {} f:value: {} k:{"name":"PYTHONPATH"}: .: {} f:name: {} f:value: {} k:{"name":"PYTHONUNBUFFERED"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/pki/ca-trust/extracted/pem"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/etc/tls/private"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/opt/app-root/src/proxy"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:fsGroup: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"proxy-source"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} k:{"name":"service-ca"}: .: {} f:configMap: .: {} f:defaultMode: {} f:items: {} f:name: {} f:name: {} k:{"name":"tls-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-10-31T02:34:11Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: .: {} k:{"type":"PodScheduled"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:message: {} f:observedGeneration: {} f:reason: {} f:status: {} f:type: {} manager: kube-scheduler operation: Update subresource: status time: "2026-10-31T02:34:11Z" name: usage-logs-tenancy-proxy-9c5d49bcd-l7v66 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: usage-logs-tenancy-proxy-9c5d49bcd uid: 7fae6744-b55f-4ae2-8b2b-69322265eb16 resourceVersion: "178855" uid: 2186be90-3d29-4abb-87e9-d0c8bdc58d50 spec: containers: - command: - python3 - /opt/app-root/src/proxy/main.py env: - name: NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: LOKI_GATEWAY_SERVICE value: data-science-lokistack-gateway-http - name: PYTHONPATH value: /opt/app-root/src/proxy - name: PYTHONUNBUFFERED value: "1" - name: LOG_LEVEL value: INFO - name: OPENSSL_CONF value: /opt/app-root/src/proxy/openssl.conf image: registry.redhat.io/ubi9/python-312@sha256:f6713d327d37e654a443752e6654b5aab88f31690e1161eed9c34dd837870172 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /health port: 8443 scheme: HTTPS initialDelaySeconds: 10 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 1 name: proxy ports: - containerPort: 8443 name: https protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /ready port: 8443 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 200m memory: 256Mi requests: cpu: 50m memory: 128Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsNonRoot: true seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /opt/app-root/src/proxy name: proxy-source readOnly: true - mountPath: /etc/tls/private name: tls-cert readOnly: true - mountPath: /etc/pki/ca-trust/extracted/pem name: service-ca readOnly: true - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-j4xj7 readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: usage-tenancy-proxy-dockercfg-gtcls preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1001 runAsNonRoot: true seLinuxOptions: level: s0:c26,c10 seccompProfile: type: RuntimeDefault serviceAccount: usage-tenancy-proxy serviceAccountName: usage-tenancy-proxy terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - configMap: defaultMode: 420 name: usage-tenancy-proxy-source name: proxy-source - name: tls-cert secret: defaultMode: 288 secretName: usage-logs-tenancy-proxy-tls - configMap: defaultMode: 420 items: - key: service-ca.crt path: tls-ca-bundle.pem name: usage-logs-tenancy-proxy-ca-bundle name: service-ca - name: kube-api-access-j4xj7 projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-10-31T02:34:11Z" message: '0/1 nodes are available: 1 node(s) had untolerated taint(s). no new claims to deallocate, preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling.' observedGeneration: 1 reason: Unschedulable status: "False" type: PodScheduled phase: Pending qosClass: Burstable kind: PodList metadata: resourceVersion: "179765"