0

After reading the several options for running containers in Google Cloud, I still cannot find a proper solution among the myriad of options - Cloud Run, Kubernetes, Container-OS...

We need to be able to:

  • run a docker image (hosted in dockerhub)
  • mount a persistent disk as a volume. Big data files will be stored there.
  • expose ports to the internet
  • automatic scalability (to 0 when not in use, for example, at night)

1 Answers1

0

Focusing only on GCP environment as in the question.

There are solutions that could be used to run workloads as you described. Some of them are:

  • Kubernetes Engine
  • Cloud Run

You can read more about the differences between GKE and Cloud Run here:


You could use GKE for your workload as for the bullet points you mentioned:

  • run a docker image (hosted in dockerhub)

Kubernetes uses Docker images. You have an option to specify the place the images are being downloaded from.


  • mount a persistent disk as a volume. Big data files will be stored there.

By default GKE uses gce-pd as the backbone for PVC's and PV's. You will be able to store data needed for pods there:


  • expose ports to the internet

Kubernetes has a wide variety of options to allow the traffic to enter your cluster. Some of them are:

  • ClusterIP - internal only
  • NodePort
  • LoadBalancer
  • Ingress

You can read more about them here:


  • automatic scalability (to 0 when not in use, for example, at night)

By using Kubernetes you can automatically scale not only nodes but also pods that are running your application:


Additional resources:

Dawid Kruk
  • 588
  • 2
  • 8