Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

On the use of GitOps for k8s, I think it makes sense for application workloads, and less sense for raw infrastructure definitions (unless you are running at such a scale that your infrastructure is often scaled like an application).

For my infrastructure definition repo, I will apply it in my terminal with kubectl, watch, and then merge the PR/commit to master. I often need to do this progressively just to roll back if I see resource consumption or other issues, it would be quite dangerous to let the CI pipeline apply everything and then for me to try and change declarations whilst the control plane API is totally starved for resources.

Also (and maybe this is me not doing "proper devops", I don't care), I will often want to tinker a bit with the declaration, trying a bunch of little changes, and then commiting once all is satisfactory. That "dev loop" is less productive if I have to wait for a CI pipeline for every step.





When you say infrastructure in this context, are you referring to the actual K8s cluster infra?

Or is it what I tend to call "intra-cluster infra" - DBs / Prometheus / Kafka etc. Infra that support apps?


Sort of both - I tend to use a managed Kubernetes cluster (like EKS), so the infra repo has YAML for operators to deal with logging, monitoring, storage, secret management, etc. Anything that is not an application workload.

This more direct interaction by using kubectl happens on a development cluster? Or is it on the same that runs production workloads?

Both, though I will get it working in dev first (and yes, I've tended to separate clusters by environment).



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: