I would like to see a video on dealing with SIGTERM signals. Also, I would be interested in learning how to implement services within a distributed system that can be started in any order. Fantastic video and please do keep them coming.
I would really love to hear about graceful shutdowns, because we did that after implementing autoscaling, which was a pain we had in the last year. Pretty please from your fan.
Hi Viktor thanks for another great video 🎉 I think that autoscaling is one of the most underestimated tasks in the journey towards kubernetes adoption. I've seen many companies struggling with pods restarting continuously, working for a while and then stopping and all sorts of problems which makes them wondering why they adopted kubernetes in the first place! Instead understanding these concepts is fundamental thanks for clarifying them! I'd also like to see a video in graceful shutdown thank you
I am experimenting with using a VPA "recreate" for development environments in an GKE Autopilot cluster while setting it to "off" for production, while the HPA is set to 1 replica for development. The theory is that a under utilized development deployments should be placed onto smaller nodes by GKE Autopilot as the pod are re-created by the VPA. Time will tell if it works as planned 😅 I am still developing my process for setting resource requests/limits and scaling. I agree with some of the other comments, I'd like to hear your thoughts on graceful shutdowns for pods. I am often concerned that my auto scaler will interrupt some work 😅
Does VPC have a production performance cost given that I assume it has to do at least some simple profiling to automagically measure application resource usage?
That depends on the query you put into it. Let's say that you will set it to query Prometheus. In theory, that could be a very heavy query. In practice, it should be negligible when compared to other operations you might be doing in your clusters. I would not worry about performance of VPA queries.
Is there a very simple way to scale a homelab/non-production environment deploys to 0 when there is no traffic? Yet I found three:traefik+sablier,greenkeytech/zero-pod-autoscaler, ctrox/zeropod.
Can any of the autoscalers work by committing to my Git repo instead of mutating my Kubernetes resources? I'd like to use a declarative GitOps approach even for scaling.
In theory, you could use something like Argo Events to trigger pipelines (e.g., GitHub Actions) that would change manifests in Git but, as far as I know, no one does that. HPA itself is a statement of intent that makes pods dynamic (in number). At the end of the day, most of Kubernetes resources are like that. You're not storing Pods in Git and tying them to specific nodes but letting Deployments manage ReplicaSets which manage Pods which can be (almost) anywhere. HPA (and other scalers) do a similar level of dynamism. You specify the range and the criteria and it ensures you get them.
It would be nice if there were a distributed possibly global and sharable operating system to abstract, reuse and resource the various hardware systems, architectures and providers. And some economic model to make it more affordable for everyone. I will try to learn more; try to do that or find something that does already. I want to create a system that carefully applies my focus; then start creating on that.
@@DevOpsToolkit Does it have a global provisioning system? Idea: There is a service that tracks and manages interaction with the providers. And then schedules the access to those provisions. Then each of the interfaces of the OS each developer-user is running has an availability service. Then the developers just use some language to denote the microservice and write their code for each one. Then they publish their microservice or application on the OS's web. Maybe it has some kind of address on the OS's web, and then can be reused by others if its very similar or same as used in many other application. The microservice which are in high demand might be subsidised. Some system groups similar microservice and makes suggestion based on performance. Then some kind of application marketplace helps further even out the costs. Then maybe a user-consumer platform to access them.
The most annoying thing about HPA is that it doesn't scale well(pun obviously intended) for low amounts of resources. Lets say you have a web app that uses 400mb idling and does great up to 600mb. When it reaches this point i know site is actually in real use and i want to start some new pods that _start_ at 4gig
I would like to see a video on dealing with SIGTERM signals. Also, I would be interested in learning how to implement services within a distributed system that can be started in any order. Fantastic video and please do keep them coming.
I would really love to hear about graceful shutdowns, because we did that after implementing autoscaling, which was a pain we had in the last year. Pretty please from your fan.
Adding it to my to-do list...
@@DevOpsToolkit ❤️❤️
Interested in graceful shutdown sir!
Your book is one of the best out there. Thanks for sharing knowledge
What book is this? I must have missed it.
He was probably referencing leanpub.com/crossplane
Hi Viktor thanks for another great video 🎉 I think that autoscaling is one of the most underestimated tasks in the journey towards kubernetes adoption. I've seen many companies struggling with pods restarting continuously, working for a while and then stopping and all sorts of problems which makes them wondering why they adopted kubernetes in the first place! Instead understanding these concepts is fundamental thanks for clarifying them!
I'd also like to see a video in graceful shutdown thank you
I'll work on it...
great stuff as always
I use the Datadog operator that allows me to scale based on any metrics that I send to Datadog. Anyway, nice video 🙂
I am experimenting with using a VPA "recreate" for development environments in an GKE Autopilot cluster while setting it to "off" for production, while the HPA is set to 1 replica for development. The theory is that a under utilized development deployments should be placed onto smaller nodes by GKE Autopilot as the pod are re-created by the VPA. Time will tell if it works as planned 😅 I am still developing my process for setting resource requests/limits and scaling.
I agree with some of the other comments, I'd like to hear your thoughts on graceful shutdowns for pods. I am often concerned that my auto scaler will interrupt some work 😅
I started working on the material for graceful shutdown yesterday. It should go live sometime in September.
@@DevOpsToolkit Thanks! Looking forward to it :)
I would like to see a video on SIGTERM signal and handling gracefully shut down
Great. I'll start working on it soon and expect it to go live in 2 months (give or take).
Does VPC have a production performance cost given that I assume it has to do at least some simple profiling to automagically measure application resource usage?
Typically the processes that scale and the data are in the same cluster (e.g., KEDA with Prometheus) so there's no VPC involved.
@DevOpsToolkit haha my bad Viktor -- I meant VPA lol.
That depends on the query you put into it. Let's say that you will set it to query Prometheus. In theory, that could be a very heavy query. In practice, it should be negligible when compared to other operations you might be doing in your clusters. I would not worry about performance of VPA queries.
Is there a very simple way to scale a homelab/non-production environment deploys to 0 when there is no traffic? Yet I found three:traefik+sablier,greenkeytech/zero-pod-autoscaler, ctrox/zeropod.
Scaling to zero is easy. Scaling back up when a request comes in is a challenge. Try knative.
Can any of the autoscalers work by committing to my Git repo instead of mutating my Kubernetes resources? I'd like to use a declarative GitOps approach even for scaling.
In theory, you could use something like Argo Events to trigger pipelines (e.g., GitHub Actions) that would change manifests in Git but, as far as I know, no one does that. HPA itself is a statement of intent that makes pods dynamic (in number). At the end of the day, most of Kubernetes resources are like that. You're not storing Pods in Git and tying them to specific nodes but letting Deployments manage ReplicaSets which manage Pods which can be (almost) anywhere. HPA (and other scalers) do a similar level of dynamism. You specify the range and the criteria and it ensures you get them.
It would be nice if there were a distributed possibly global and sharable operating system to abstract, reuse and resource the various hardware systems, architectures and providers. And some economic model to make it more affordable for everyone. I will try to learn more; try to do that or find something that does already. I want to create a system that carefully applies my focus; then start creating on that.
That is effectively kubernetes.
@@DevOpsToolkit Does it have a global provisioning system? Idea: There is a service that tracks and manages interaction with the providers. And then schedules the access to those provisions. Then each of the interfaces of the OS each developer-user is running has an availability service. Then the developers just use some language to denote the microservice and write their code for each one. Then they publish their microservice or application on the OS's web. Maybe it has some kind of address on the OS's web, and then can be reused by others if its very similar or same as used in many other application. The microservice which are in high demand might be subsidised. Some system groups similar microservice and makes suggestion based on performance. Then some kind of application marketplace helps further even out the costs. Then maybe a user-consumer platform to access them.
The most annoying thing about HPA is that it doesn't scale well(pun obviously intended) for low amounts of resources. Lets say you have a web app that uses 400mb idling and does great up to 600mb. When it reaches this point i know site is actually in real use and i want to start some new pods that _start_ at 4gig
KEDA should help with that since it allows you to use any query you want.
Prvi like!!
# til