crane icon indicating copy to clipboard operation
crane copied to clipboard

node Qos Ensurance, Disable Scheduling can config taint's effect

Open wolfleave opened this issue 3 years ago • 2 comments

Describe the feature

AvoidanceAction can config taint's effect when use disablescheduling.just like:

apiVersion: ensurance.crane.io/v1alpha1
kind: AvoidanceAction
metadata:
  labels:
    app: system
  name: disablescheduling
spec:
  description: disable schedule new pods to the node
  coolDownSeconds: 300  # 
  disablescheduling:
     effect:NoSchedule

then node’s taint use configed effect。 this is useful for node qos ensurance when specific label node‘s waterline set high and node number is low。just like:

apiVersion: ensurance.crane.io/v1alpha1
kind: NodeQOSEnsurancePolicy
metadata:
  name: "waterline"
  labels:
    app: "system"
spec:
  selector:
    matchLabels:
      biz-node-label-x: "1"
  nodeQualityProbe:
    timeoutSeconds: 10
    nodeLocalGet:
      localCacheTTLSeconds: 60
  objectiveEnsurances:
  - name: "cpu-usage"
    avoidanceThreshold: 2 #
    restoreThreshold: 2 #
    actionName: "disablescheduling" #
    strategy: "None" #
    metricRule:
      name: "cpu_total_utilization" #
      value: 70 #

wolfleave avatar Jun 22 '22 06:06 wolfleave

+1 this looks a better way for enable/disable scheduling a node, it provides more flexibility to users. I would support this suggestion. @wolfleave do you want to send a PR?

mfanjie avatar Jun 27 '22 06:06 mfanjie

+1 this looks a better way for enable/disable scheduling a node, it provides more flexibility to users. I would support this suggestion. @wolfleave do you want to send a PR?

OK, I'm a new gopher. maybe I can try

wolfleave avatar Jun 27 '22 09:06 wolfleave