-
Notifications
You must be signed in to change notification settings - Fork 4k
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
doks: use providerID for node.ID #2427
doks: use providerID for node.ID #2427
Conversation
/assign @andrewsykim |
5fcc6bc
to
7b75d57
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two optional suggestions from my end, but otherwise LGTM (though I don't have approval powers).
cluster-autoscaler/cloudprovider/digitalocean/digitalocean_node_group.go
Outdated
Show resolved
Hide resolved
cluster-autoscaler/cloudprovider/digitalocean/digitalocean_cloud_provider.go
Outdated
Show resolved
Hide resolved
ecc52d5
to
4d6752f
Compare
cluster-autoscaler/cloudprovider/digitalocean/digitalocean_node_group_test.go
Outdated
Show resolved
Hide resolved
4d6752f
to
37aa3f8
Compare
37aa3f8
to
7e69503
Compare
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: andrewsykim 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 |
Problem
The
cluster-autoscaler
usesnode.Spec.ProviderID
to determine which nodes are unregistered, so that they can be eventually deleted in an attempt to replace by registered instances. Thenode.Id
that we assign in cluster-autoscaler is the DOKS node UUID, so the nodes always look unregistered to the autoscaler, because they're using different IDs. This results in nodes flapping in and out of not ready as they're deleted via k8s by the cluster-autoscaler.Solution
Derive the cluster-autoscaler
node.Id
from the node droplet ID and in the providerID form that it expects (i.e.digitalocean://12345678
), instead of the DOKS node UUID.This also upgrades the vendored
godo
package.cc @timoreimann @andrewsykim