Learnk8s, a Kubernetes training company, publishes guides on troubleshooting deployments, production practices, cluster architecture and Docker images.
HN commenters recommend its guides as quality learning material, citing the deployment troubleshooting flowchart, an ingress comparison, and a primer for engineers new to Kubernetes.
Great writeup on the core fundamentals, saved this to share with engineers who are new to k8s and need a quick primer.
Re: This piece -
> Given the Controller pattern, why isn't there support for "Cloud Native" architectures?
> I would like to have a ReplicaSet which scales the replicas based on some simple calculation for queue depth (eg: queue depth / 16 = # replicas)
> Defining interfaces for these types of events (queue depth, open connections, response latency) would be great
> Basically, Horizontal Pod Autoscaler but with sensors which are not just "CPU"
HPAs are actually still what you want here - you can configure HPAs to scale automatically based on custom metrics. If you run Prometheus (or a similar collector), you can define the metric you want (e.g. queue-depth) and the autoscaler will make scaling decisions with these in mind.
Resources:
https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#scaling-on-custom-metrics
https://learnk8s.io/autoscaling-apps-kubernetes
I'm always a bit confused about the CPU limit (for the pod), some guides (and tools) advice to always set one, but this one [0] doesn't.
Ops people I worked with almost always want to lower that limit and I have to insist for raising it (no way they disable it).
Is there an ultimate best practice for that?
[0] https://learnk8s.io/production-best-practices
Wow! Based on the title I was prepared to lump this in with the "kill pods via doom" category but this is so much more and honestly inspiring to build on more fun ideas. Congrats on shipping and the content quality of the intro at https://learnk8s.io/real-time-dashboard is fantastic.
You should write an operator for inner checks.
This might be helpful:
https://learnk8s.io/troubleshooting-deployments
I am planning to do the same for a platform that I am building, and is deployed on prem. Let me know if this is an open source project.
Thanks, glad you liked it! Minor clarification, I didn’t write the ingress comparison, that’s from https://learnk8s.io (who I’ve been working with recently). They have a bunch of awesome resources on their site.