Hi @<1615156932413231104:profile|AdventurousJellyfish3> ,
Is there a way to enable the Docker mode when installing ClearML Agent using a Helm Chart. Or is enabling the Docker mode even required?
Since the helm chart implies Kubernetes, and since each pod is a sandbox running a container, the agent docker mode is not used there - the k8s glue agent basically uses the same setup used to run in docker mode in order to spin up a pod with the correct docker container inside the pod
We have a Git repo where have a Dockerfile that’s built and pushed to a registry. We want to simply run this Docker image in a Task. But when we try to do this, the Agent seems to also clone the entire repository every time the Task is run. This is not desired as we copy the repository code already inside the Dockerfile. Anyway to disable this repeated cloning?
Do you mean there's a prebuilt docker image available in some docker registry? The agent does not build a docker image from a Dockerfile.
In any case, to do that I think you'll need to provide a custom bash script for the k8s glue agent and override the default behavior, basically running your own script in the pod once the glue agent spawned the pod (and not using an execution agent inside)
Hi @<1523701087100473344:profile|SuccessfulKoala55> thanks for your response. Yes, we do have a prebuilt docker image in our docker registry which we simply want to run in a Task. We are not trying to build the docker image using the ClearML Agent
Is there any documentation or code that I can look at to understand what happens when the ClearML Agent on a Kubernetes cluster spawns a new Pod for a Task? I see your point about adding a custom bash script to override the cloning of the repo, but have no idea how to implement it and where to start.
Hi @<1615156932413231104:profile|AdventurousJellyfish3> , sorry I missed this. In general running in a k8s pod is done as close as possible to running in a docker container on a bare-metal machine. The code will take any bash script provided in the task's Container->Execution>SETUP SHELL SCRIPT section, or whatever's defined in the agent's configuration (under the agent.extra_docker_shell_script
field)