--- apiVersion: apps/v1 items: - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-04-22T15:42:36Z" generation: 1 labels: app.kubernetes.io/component: controller app.kubernetes.io/name: trainer app.kubernetes.io/part-of: kubeflow managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:spec: f:selector: {} f:template: f:metadata: f:labels: f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:env: k:{"name":"ENABLE_RHAI_FEATURES"}: .: {} f:name: {} f:value: {} f:image: {} f:livenessProbe: f:httpGet: f:path: {} f:port: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:timeoutSeconds: {} f:name: {} f:ports: k:{"containerPort":8443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:readinessProbe: f:httpGet: f:path: {} f:port: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:timeoutSeconds: {} f:securityContext: f:allowPrivilegeEscalation: {} f:capabilities: f:drop: {} f:runAsNonRoot: {} f:seccompProfile: f:type: {} f:volumeMounts: k:{"mountPath":"/controller_manager_config.yaml"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:serviceAccountName: {} f:volumes: k:{"name":"cert"}: .: {} f:name: {} f:secret: f:defaultMode: {} f:secretName: {} k:{"name":"kubeflow-trainer-config"}: .: {} f:configMap: f:name: {} f:name: {} manager: kubectl operation: Apply time: "2026-04-22T15:42:36Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} 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:readyReplicas: {} f:replicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-04-22T15:42:54Z" name: kubeflow-trainer-controller-manager namespace: opendatahub resourceVersion: "13456" uid: 8f308870-645b-4247-b5c4-41c529a14306 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app.kubernetes.io/component: controller app.kubernetes.io/name: trainer app.kubernetes.io/part-of: kubeflow strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: creationTimestamp: null labels: app.kubernetes.io/component: controller app.kubernetes.io/name: trainer app.kubernetes.io/part-of: kubeflow spec: containers: - args: - --config=/controller_manager_config.yaml - --zap-log-level=2 env: - name: ENABLE_RHAI_FEATURES value: "true" image: quay.io/opendatahub/trainer:odh-3.4.0 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 3 name: manager ports: - containerPort: 8443 name: metrics protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 10 periodSeconds: 15 successThreshold: 1 timeoutSeconds: 3 resources: {} securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsNonRoot: true seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /controller_manager_config.yaml name: kubeflow-trainer-config readOnly: true subPath: controller_manager_config.yaml - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: kubeflow-trainer-controller-manager serviceAccountName: kubeflow-trainer-controller-manager terminationGracePeriodSeconds: 30 volumes: - configMap: defaultMode: 420 name: kubeflow-trainer-config name: kubeflow-trainer-config - name: cert secret: defaultMode: 420 secretName: kubeflow-trainer-webhook-cert status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-04-22T15:42:54Z" lastUpdateTime: "2026-04-22T15:42:54Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-04-22T15:42:36Z" lastUpdateTime: "2026-04-22T15:42:54Z" message: ReplicaSet "kubeflow-trainer-controller-manager-55f5694779" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 updatedReplicas: 1 kind: DeploymentList metadata: resourceVersion: "29095"