-
Notifications
You must be signed in to change notification settings - Fork 199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add startup taint removal feature #2309
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: andyzhangx The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
adf1c21
to
760761a
Compare
/retest |
4 similar comments
/retest |
/retest |
/retest |
/retest |
this does not apply for azure disk csi driver, we only want to remove the taint after azure disk csi driver is started to avoid race condition between kube-scheduler and azure disk csi driver. |
Good to know. Many thanks for your hard work❤️ |
What type of PR is this?
/kind feature
What this PR does / why we need it:
feat: add startup taint removal feature
This PR is for solving the race condition between CSI driver initialization and disk volume scheduling, you could find details here: kubernetes/kubernetes#95911
user should add taint(
disk.csi.azure.com/agent-not-ready=value:NoExecute
) to node pool before CSI driver starts uphttps://learn.microsoft.com/en-us/azure/aks/use-node-taints#create-a-node-pool-with-a-node-taint
Which issue(s) this PR fixes:
Fixes #
Requirements:
Special notes for your reviewer:
There is a race condition between CSI driver initialization and kube-scheduler, we have added a taint removal feature (when CSI driver is started up) from aks 1.30, so cx could mitigate this issue, add taint
disk.csi.azure.com/agent-not-ready:NoExecute
in node pool creation and then after CSI driver is started, the taint would be removed by the CSI driver, that won’t be any race condition between CSI driver initialization and kube-scheduler any more.Use node taints in an Azure Kubernetes Service (AKS) cluster - Azure Kubernetes Service | Microsoft Learn
az aks nodepool add
--resource-group $RESOURCE_GROUP_NAME
--cluster-name $CLUSTER_NAME
--name $NODE_POOL_NAME
--node-count 1
--node-taints "disk.csi.azure.com/agent-not-ready:NoExecute"
--no-wait
Release note: