kenske
kenske

Reputation: 2354

What is the right way to manage changes in kubernetes manifests?

I've been using terraform for a while and I really like it. I also set up Atlantis so that my team could have a "GitOps" flow. This is my current process:

I recently found myself needing to set up a few managed Kubernetes clusters using Amazon EKS. While Terraform is capable of creating most of the basic infrastructure, it falls short when setting up some of the k8s resources (no support for gateways or ingress, no support for alpha/beta features, etc). So instead I've been relying on a manual approach using kubectl:

This process feels nowhere near as clean as what we're doing in Terraform. There are several key problems:

I should acknowledge that I'm fairly new to Kubernetes, so might be overlooking something obvious.

Is there a way for me to achieve a process similar to what I have in Terraform, within the Kubernetes universe?

Upvotes: 4

Views: 1088

Answers (1)

Rico
Rico

Reputation: 61699

This is more of an opinion question so I'll answer with an opinion. If you like to manage configuration you can try some of these tools:

  • If you want to use existing YAML files (configurations) and use something at a higher level you can try kustomize.
  • If you want to manage Kubernetes configurations using Jsonnet you should take a look at Ksonnet. Keep in mind that Ksonnet will not be supported in the future.

If you want to just automatically do a helm update in an automated way, there is not a tool there yet. You will have to build something at this point to orchestrate everything. For example, we ended up creating an in house tool that does this.

Upvotes: 1

Related Questions