Scaling Explained Through Kubernetes HPA, VPA, KEDA & Cluster Autoscaler

แชร์
ฝัง
  • เผยแพร่เมื่อ 31 ธ.ค. 2024

ความคิดเห็น •

  • @conradtaylor29
    @conradtaylor29 6 หลายเดือนก่อน +13

    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.

  • @TheVasanthbuddy
    @TheVasanthbuddy 6 หลายเดือนก่อน +8

    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.

    • @DevOpsToolkit
      @DevOpsToolkit  6 หลายเดือนก่อน +3

      Adding it to my to-do list...

    • @TheVasanthbuddy
      @TheVasanthbuddy 6 หลายเดือนก่อน +1

      @@DevOpsToolkit ❤️❤️

  • @DrWho4President
    @DrWho4President 6 หลายเดือนก่อน +7

    Interested in graceful shutdown sir!

  • @obasoroolakunle8421
    @obasoroolakunle8421 6 หลายเดือนก่อน +1

    Your book is one of the best out there. Thanks for sharing knowledge

    • @moisthoagie1992
      @moisthoagie1992 6 หลายเดือนก่อน +1

      What book is this? I must have missed it.

    • @DevOpsToolkit
      @DevOpsToolkit  6 หลายเดือนก่อน +1

      He was probably referencing leanpub.com/crossplane

  • @IvanRizzante
    @IvanRizzante 6 หลายเดือนก่อน +2

    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

    • @DevOpsToolkit
      @DevOpsToolkit  6 หลายเดือนก่อน +2

      I'll work on it...

  • @microst99
    @microst99 5 หลายเดือนก่อน +1

    great stuff as always

  • @civilapalyan6253
    @civilapalyan6253 5 หลายเดือนก่อน +2

    I use the Datadog operator that allows me to scale based on any metrics that I send to Datadog. Anyway, nice video 🙂

  • @mzimmerman1988
    @mzimmerman1988 5 หลายเดือนก่อน +2

    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 😅

    • @DevOpsToolkit
      @DevOpsToolkit  5 หลายเดือนก่อน +1

      I started working on the material for graceful shutdown yesterday. It should go live sometime in September.

    • @mzimmerman1988
      @mzimmerman1988 5 หลายเดือนก่อน +1

      @@DevOpsToolkit Thanks! Looking forward to it :)

  • @hassaanjavaid3565
    @hassaanjavaid3565 5 หลายเดือนก่อน +1

    I would like to see a video on SIGTERM signal and handling gracefully shut down

    • @DevOpsToolkit
      @DevOpsToolkit  5 หลายเดือนก่อน

      Great. I'll start working on it soon and expect it to go live in 2 months (give or take).

  • @jonassteinberg3779
    @jonassteinberg3779 2 หลายเดือนก่อน +1

    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?

    • @DevOpsToolkit
      @DevOpsToolkit  2 หลายเดือนก่อน

      Typically the processes that scale and the data are in the same cluster (e.g., KEDA with Prometheus) so there's no VPC involved.

    • @jonassteinberg3779
      @jonassteinberg3779 2 หลายเดือนก่อน +1

      @DevOpsToolkit haha my bad Viktor -- I meant VPA lol.

    • @DevOpsToolkit
      @DevOpsToolkit  2 หลายเดือนก่อน

      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.

  • @east4ming
    @east4ming 6 หลายเดือนก่อน +1

    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.

    • @DevOpsToolkit
      @DevOpsToolkit  6 หลายเดือนก่อน

      Scaling to zero is easy. Scaling back up when a request comes in is a challenge. Try knative.

  • @RobertWinter2
    @RobertWinter2 5 หลายเดือนก่อน +1

    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.

    • @DevOpsToolkit
      @DevOpsToolkit  5 หลายเดือนก่อน +1

      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.

  • @hewhointheearthlydomainsee1272
    @hewhointheearthlydomainsee1272 6 หลายเดือนก่อน +1

    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
      @DevOpsToolkit  6 หลายเดือนก่อน

      That is effectively kubernetes.

    • @hewhointheearthlydomainsee1272
      @hewhointheearthlydomainsee1272 6 หลายเดือนก่อน

      @@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.

  • @DennisHaney
    @DennisHaney 6 หลายเดือนก่อน +1

    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

    • @DevOpsToolkit
      @DevOpsToolkit  6 หลายเดือนก่อน

      KEDA should help with that since it allows you to use any query you want.

  • @TheBalkovic
    @TheBalkovic 6 หลายเดือนก่อน +1

    Prvi like!!

  • @julianomoraisbarbosa
    @julianomoraisbarbosa 6 หลายเดือนก่อน +1

    # til