Breaking News: Grepper is joining You.com. Read the official announcement!
Check it out

Why use schedulers?#

Sumit Rawal answered on June 19, 2023 Popularity 1/10 Helpfulness 1/10

Contents


More Related Answers

  • No module named 'schedule'
  • event scheduler status
  • what is a scheduler in os
  • schedule task in seconds c#
  • python scheduler
  • What is a Scheduler?
  • Task-Scheduler:
  • what are job scheduler work
  • enable schedule
  • task scheduler close chrome
  • Define Scheduler Explain Why RxJava Uses Schedulers?
  • Task Scheduler Query
  • Schedulers
  • instance scheduler overflow

  • Why use schedulers?#

    0

    A cluster scheduler has quite a few goals.

    It makes sure that resources are used efficiently and within constraints.

    It makes sure that services are (almost) always running.

    It provides fault tolerance and high availability.

    It makes sure that the specified number of replicas are deployed.

    It makes sure that the desired state requirement of a service or a node is (almost) always fulfilled. Instead of using imperative methods to achieve our goals, with schedulers, we can be declarative.

    We can tell a scheduler what the desired state is, and it will do its best to ensure that our desire is (almost) always fulfilled. For example, instead of executing a deployment process five times hoping that we’ll have five replicas of a service, we can tell a scheduler that our desired state is to have the service running with five replicas.

    The difference between imperative and declarative methods might seem subtle but, in fact, is enormous.

    In an imperative way, you tell Kubernetes what it needs to do and how he needs to do it.

    In a declarative way, you’ll tell Kubernetes what you need and it will do it for you.

    With a declarative expression of the desired state, a scheduler can monitor a cluster and perform actions whenever the actual state does not match the desired. Compare that to an execution of a deployment script. Both will deploy a service and produce the same initial result. However, the script will not make sure that the result is maintained over time. If an hour later, one of the replicas fail, our system will be compromised.

    Traditionally, we were solving that problem with a combination of alerts and manual interventions. An operator would receive a notification that a replica failed, he’d log in to the server, and restart the process. If the whole server is down, the operator might choose to create a new one, or he might deploy the failed replica to one of the other servers. But, before doing that, he’d need to check which server has enough available memory and CPU. All that, and much more, is done by schedulers without human intervention.

    Think of schedulers as operators who are continually monitoring the system and fixing discrepancies between the desired and the actual state. The difference is that schedulers are infinitely faster and more accurate. They do not get tired, they do not need to go to the bathroom, and they do not require paychecks. They are machines or, to be more precise, software running on top of them.

    Popularity 1/10 Helpfulness 1/10 Language whatever
    Source: Grepper
    Tags: whatever
    Link to this answer
    Share Copy Link
    Contributed on Jun 19 2023
    Sumit Rawal
    0 Answers  Avg Quality 2/10

    Closely Related Answers



    0

    A cluster scheduler has quite a few goals.

    It makes sure that resources are used efficiently and within constraints.

    It makes sure that services are (almost) always running.

    It provides fault tolerance and high availability.

    It makes sure that the specified number of replicas are deployed.

    It makes sure that the desired state requirement of a service or a node is (almost) always fulfilled. Instead of using imperative methods to achieve our goals, with schedulers, we can be declarative.

    We can tell a scheduler what the desired state is, and it will do its best to ensure that our desire is (almost) always fulfilled. For example, instead of executing a deployment process five times hoping that we’ll have five replicas of a service, we can tell a scheduler that our desired state is to have the service running with five replicas. 

    Popularity 1/10 Helpfulness 1/10 Language whatever
    Source: Grepper
    Tags: whatever
    Link to this answer
    Share Copy Link
    Contributed on Jun 19 2023
    Sumit Rawal
    0 Answers  Avg Quality 2/10


    X

    Continue with Google

    By continuing, I agree that I have read and agree to Greppers's Terms of Service and Privacy Policy.
    X
    Grepper Account Login Required

    Oops, You will need to install Grepper and log-in to perform this action.