Based on my Keptn slack thread: https://keptn.slack.com/archives/CGS63H8G6/p1634057060065400

I am sharing this here with a paraphrase to the original thread and some extra info. This is so that:

  1. The entire thing is available publicly (Keptn slack needs signing up)
  2. (hopefully) Gives the original thread more context and structure with some follow up information

Problem:

Keptn local development setup can be heavy if you don’t have a computer with good specifications. This can lead to bad development experience. The information about what a good dev machine should look like is mentioned in the Keptn in a Box tutorial

For most usecases we recommend 4 Cores, 16 Gigs of RAM and 20 Gigs of diskspace. Our tests on aws have shown that the minimum required for running Keptn-in-a-Box with the default installation bundle is a t2.medium (2 vCPU and 4 Gib of RAM) and 10 Gigabytes of disk space. Nevertheless this won’t leave much space for spinning other services or onboarding applications.

For the 😎 ultimate experience you could get a t2.2xlarge with 8 Cores, 32 Gigs of RAM and 20 Gigs of diskspace.

Please note that the above is not necessarily a tutorial for dev setup but more of a ‘if you want to run Keptn with Dynatrace’ tutorial but it kind of gives us an idea of how much resources we might need to run Keptn.

I tried running Keptn in my local k3d cluster but my Lenovo IdeaPad 510 couldn’t handle running a Keptn cluster, my IDE (VSCode) and a web browser (Firefox) at the same time. My laptop would just freeze. So, I started a thread on the Keptn slack to ask about what others were using for their dev setup.

Does anyone here run Kubernetes cluster in a cloud VM (GCP,AKS,AWS) VM for local development? What do you guys use for local development and how’s the experience (can you mention the RAM/CPU of your machine if possible)? I am looking for cheaper options to run a Kubernetes cluster for local development. My personal machine is old (~8GB RAM, extendable to 12GB max).

  1. Buy a new machine with more RAM (~16GB or more)
    pros: fast development (can use local docker registry), easy setup
    cons: non-scalable (unless I add new machines)
  2. Run a K8s cluster offered as a service by the above cloud providers (GKE, EKS)
    pros: quick, easy and scalable,
    cons: high operating cost, can’t use local registry
  3. Buy a CPU tower (i.e, a big fat desktop CPU) to setup a local K8s cluster
    pros: fast development, better performance (than laptop), low operating cost
    cons: high initial cost, setup, non-portable
  4. Try setting up a K8s cluster in a cloud VM (spot/preemptible instance to further reduce the cost)
    pros: cheaper (than K8s as service), scalable
    cons: security, setup, can’t use local registry

4 is the one I am leaning towards the most right now but I would like to hear what you folks are doing as well.

Summarizing the responses from the thread:

Check out part II of this blog post when it comes out. What’s included in part II:

  1. Considering each option listed above in more detail
  2. What I eventually ended up with Hopefully 1 and 2 can give you some idea about what you can do for your local Keptn dev setup.

P.S.: Read Part II here.