--- apiVersion: apps/v1 items: - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" internal.serving.kserve.io/batcher: "true" internal.serving.kserve.io/batcher-max-batchsize: "32" internal.serving.kserve.io/batcher-max-latency: "5000" internal.serving.kserve.io/storage-initializer-sourceuri: gs://kfserving-examples/models/sklearn/1.0/model prometheus.kserve.io/path: /metrics prometheus.kserve.io/port: "8080" service.beta.openshift.io/serving-cert-secret-name: isvc-sklearn-batcher-custom-predictor-serving-cert serving.kserve.io/deploymentMode: Standard creationTimestamp: "2026-09-09T20:22:13Z" generation: 1 labels: app: isvc.isvc-sklearn-batcher-custom-predictor component: predictor networking.kserve.io/visibility: exposed serving.kserve.io/inferenceservice: isvc-sklearn-batcher-custom managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:internal.serving.kserve.io/batcher: {} f:internal.serving.kserve.io/batcher-max-batchsize: {} f:internal.serving.kserve.io/batcher-max-latency: {} f:internal.serving.kserve.io/storage-initializer-sourceuri: {} f:prometheus.kserve.io/path: {} f:prometheus.kserve.io/port: {} f:service.beta.openshift.io/serving-cert-secret-name: {} f:serving.kserve.io/deploymentMode: {} f:labels: .: {} f:app: {} f:component: {} f:networking.kserve.io/visibility: {} f:serving.kserve.io/inferenceservice: {} f:ownerReferences: .: {} k:{"uid":"1f761573-8105-4124-ab70-50929283d13f"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:annotations: .: {} f:internal.serving.kserve.io/batcher: {} f:internal.serving.kserve.io/batcher-max-batchsize: {} f:internal.serving.kserve.io/batcher-max-latency: {} f:internal.serving.kserve.io/storage-initializer-sourceuri: {} f:prometheus.kserve.io/path: {} f:prometheus.kserve.io/port: {} f:service.beta.openshift.io/serving-cert-secret-name: {} f:serving.kserve.io/deploymentMode: {} f:labels: .: {} f:app: {} f:component: {} f:networking.kserve.io/visibility: {} f:serving.kserve.io/inferenceservice: {} f:name: {} f:namespace: {} f:spec: f:automountServiceAccountToken: {} f:containers: k:{"name":"kserve-container"}: .: {} f:args: {} f:env: .: {} k:{"name":"INFERENCE_SERVICE_NAME"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:ports: .: {} k:{"containerPort":5000,"protocol":"TCP"}: .: {} f:containerPort: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:periodSeconds: {} f:successThreshold: {} f:tcpSocket: .: {} f:port: {} 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:runAsNonRoot: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/tls/private"}: .: {} f:mountPath: {} f:name: {} k:{"name":"kube-rbac-proxy"}: .: {} f:args: {} 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":8643,"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:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/kube-rbac-proxy"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/etc/tls/private"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"kube-rbac-proxy-sar-config"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} k:{"name":"proxy-tls"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: manager operation: Update time: "2026-09-09T20:22:13Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:deployment.kubernetes.io/revision: {} f:status: f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:replicas: {} f:unavailableReplicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-09-09T20:32:14Z" name: isvc-sklearn-batcher-custom-predictor namespace: kserve-ci-e2e-test ownerReferences: - apiVersion: serving.kserve.io/v1beta1 blockOwnerDeletion: true controller: true kind: InferenceService name: isvc-sklearn-batcher-custom uid: 1f761573-8105-4124-ab70-50929283d13f resourceVersion: "20804" uid: f708db72-9b93-402b-8bb9-70df262d8bf2 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: isvc.isvc-sklearn-batcher-custom-predictor strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: internal.serving.kserve.io/batcher: "true" internal.serving.kserve.io/batcher-max-batchsize: "32" internal.serving.kserve.io/batcher-max-latency: "5000" internal.serving.kserve.io/storage-initializer-sourceuri: gs://kfserving-examples/models/sklearn/1.0/model prometheus.kserve.io/path: /metrics prometheus.kserve.io/port: "8080" service.beta.openshift.io/serving-cert-secret-name: isvc-sklearn-batcher-custom-predictor-serving-cert serving.kserve.io/deploymentMode: Standard labels: app: isvc.isvc-sklearn-batcher-custom-predictor component: predictor networking.kserve.io/visibility: exposed serving.kserve.io/inferenceservice: isvc-sklearn-batcher-custom name: isvc-sklearn-batcher-custom-predictor namespace: kserve-ci-e2e-test spec: automountServiceAccountToken: true containers: - args: - --model_name=isvc-sklearn-batcher-custom - --model_dir=/mnt/models - --http_port=8080 - --http_port=5000 env: - name: INFERENCE_SERVICE_NAME value: isvc-sklearn-batcher-custom image: quay.io/opendatahub/sklearn-serving-runtime:odh-pr-1968 imagePullPolicy: IfNotPresent name: kserve-container ports: - containerPort: 5000 protocol: TCP readinessProbe: failureThreshold: 3 periodSeconds: 10 successThreshold: 1 tcpSocket: port: 8080 timeoutSeconds: 1 resources: limits: cpu: 100m memory: 256Mi requests: cpu: 50m memory: 128Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL privileged: false runAsNonRoot: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /etc/tls/private name: proxy-tls - args: - --secure-listen-address=:8443 - --proxy-endpoints-port=8643 - --upstream=http://localhost:9081 - --auth-header-fields-enabled=true - --tls-cert-file=/etc/tls/private/tls.crt - --tls-private-key-file=/etc/tls/private/tls.key - --config-file=/etc/kube-rbac-proxy/config-file.yaml - --v=4 image: quay.io/opendatahub/odh-kube-auth-proxy@sha256:dcb09fbabd8811f0956ef612a0c9ddd5236804b9bd6548a0647d2b531c9d01b3 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8643 scheme: HTTPS initialDelaySeconds: 30 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 1 name: kube-rbac-proxy ports: - containerPort: 8443 name: https protocol: TCP - containerPort: 8643 name: proxy protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8643 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 200m memory: 128Mi requests: cpu: 100m memory: 64Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /etc/tls/private name: proxy-tls - mountPath: /etc/kube-rbac-proxy name: kube-rbac-proxy-sar-config readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 volumes: - name: proxy-tls secret: defaultMode: 420 secretName: isvc-sklearn-batcher-custom-predictor-serving-cert - configMap: defaultMode: 420 name: isvc-sklearn-batcher-custom-kube-rbac-proxy-sar-config name: kube-rbac-proxy-sar-config status: conditions: - lastTransitionTime: "2026-09-09T20:22:13Z" lastUpdateTime: "2026-09-09T20:22:13Z" message: Deployment does not have minimum availability. reason: MinimumReplicasUnavailable status: "False" type: Available - lastTransitionTime: "2026-09-09T20:32:14Z" lastUpdateTime: "2026-09-09T20:32:14Z" message: ReplicaSet "isvc-sklearn-batcher-custom-predictor-6757b57d7d" has timed out progressing. reason: ProgressDeadlineExceeded status: "False" type: Progressing observedGeneration: 1 replicas: 1 unavailableReplicas: 1 updatedReplicas: 1 kind: DeploymentList metadata: resourceVersion: "42282"