0

My company is going to migrate to GCP, and I found some issues with how we want to manage our infrastructure and projects.

Our stack is mainly based on Kubernetes, right now we have 2 clusters:

  • production
  • dev/test

In each cluster, we have deployed many tools such as:

  • externalDNS (our nameservers are managed by CloudFlare)
  • cert-manager
  • ingress-controller
  • other useful tools such as sealed-secrets...

In our previous organization we had many different apps on each cluster separated in different namespaces but now we might want to use GKE Autopilot to maybe have 1 cluster per app (not sure but we will surely have more clusters). Since GKE Autopilot is pay per pod and ressources, if I deploy externalDNS on all clusters I will pay for each pod which can lead to a bump in billing with no added "business value".

Is there a way to:

  • have more finegrained clusters with Autopilot
  • without having to pay for tooling pods on each of the clusters?

Anyone has recommendations on how to manage the clusters? Maybe having 1 cluster per app is overkill?

Thanks!

pida
  • 1
  • 1
  • What are you hoping to accomplish with multiple clusters? – Gari Singh Mar 13 '23 at 08:57
  • I want to have a better separation between apps, but maybe i will just use Google Cloud Run after looking for the different container services. It's just that we have everything deployed using helm, so the migration was quite straightforward with k8s – pida Mar 14 '23 at 08:51
  • If you can use Cloud Run, then definitely give it a go. If you are still interested in using GKE Autopilot, one way to separate different workloads would be to use a combination of namespaces and workload separation ( https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-provisioning#workload_separation ). With workload separation, you end up with workloads on different sets of nodes behind the scenes. – Gari Singh Mar 14 '23 at 09:35

0 Answers0