A CRD object is a Kubernetes API resource that represents a concrete training job or workflow. It exposes the requested configuration and the operation’s current status, making it both an execution gateway and a state record. section 3.4.5 section 9.3.2
In a production system, a CRD object can serve several operational roles:
- Accept training requests through create, read, update, and delete operations. section 3.4.5
- Provide the source of truth for training status while a wrapper service presents a system-specific interface. section 3.4.5
- Represent an Argo workflow definition and its steps, which the controller realizes as Kubernetes pods. section 9.3.2
- Isolate workflow steps through separate containers and pods, passing inputs and outputs through files. section 9.3.2
Training backend wrapper
A web service can leave an existing front end unchanged, queue jobs, translate incoming training requests into operator CRD objects, and read those objects to report status. This lets an existing deep-learning platform use Kubernetes training operators as its computation backend. section 3.4.5
Figure 3.13 Integrating Kubeflow training operators into an existing deep learning system as training backend. The wrapper service can transform training requests to CRD objects and fetch the training status from the CRD objects.
Use the integration diagram to trace request conversion, queue management, CRD submission, and status retrieval between an existing system and Kubernetes training operators. section 3.4.5
