crane
crane copied to clipboard
node Qos Ensurance, Disable Scheduling can config taint's effect
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 #
+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?
+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