GPU Container architecture
How a GPU Container Job runs on your cluster, from the job starting to the shell you open on it.
A GPU Container Job runs your workload inside a KubeVirt VMI with a GPU and shell access.
How a job starts
When you submit a job from cosmicac-ui or cosmicac-cli, cosmicac-app-node authenticates the request and forwards it to cosmicac-wrk-ork, the orchestrator that places jobs. cosmicac-wrk-ork allocates the GPUs the job needs on one node. It then hands the job to cosmicac-wrk-server-k8s-nvidia, which creates the Kubernetes resources through the API. Kubernetes then creates a pod containing a VMI, with cosmicac-wrk-agent-instance running inside it.
How a shell connects
Once the VMI is running, cosmicac-cli connects directly to cosmicac-wrk-agent-instance over hyperswarm-ssh. Your commands reach the VMI over the Holepunch peer-to-peer stack rather than through cosmicac-app-node, so the interactive session doesn't depend on the control path that submitted the job.
Next steps
- GPU Container Job for what the job is and when to use one
- Connect to a GPU Container Job
- Architecture for the components and how CosmicAC reaches your cluster