We can directly deploy containers into VM instance of Google Compute Engine, instead of launching a heavy Kubernetes cluster. The command looks like:
gcloud compute instances create-with-container $(VM_NAME) \ --container-image=$(IMAGE_NAME) \ --machine-type n1-standard-1 \ --labels team=mle,product=decision-engine \ --zone us-east1-a
To add enviroment variables to this container, we just need to add an argument:
--container-env-file env.list
To let the container run command for us, we need to add command arguments:
--container-command "/bin/bash" \ --container-arg="-c" \ --container-arg="make all; bash next.sh"
There is still a problem: the VM instance will run this container again and again even the result of the task in container is successful.
To solve this, we just need to add another argument:
--container-restart-policy on-failure