Giter Club home page Giter Club logo

Comments (4)

apricote avatar apricote commented on July 18, 2024

Hey @morsik,

Is the taint node.cloudprovider.kubernetes.io/uninitialized still set on your nodes? This taint is added by the kubelet when it first starts and creates the Node, but only if the initial start is done with the flag --cloud-provider=external. We only set the Provider ID & Taints on the first reconcile, if this taint is set. After that we (or rather the kubernetes/cloud-provider library we use) considers the node "initialized" and this is not being checked again.

Could you post the logs of hcloud-cloud-controller-manager during the first few minutes after adding a new node?

from hcloud-cloud-controller-manager.

morsik avatar morsik commented on July 18, 2024

@apricote nope, I never saw such taint. The only taint I had was standard node-role.kubernetes.io/control-plane:NoSchedule which I removed in my use-case.

morsik@Star-Destroyer ~ $ kubectl describe nodes | grep Taint -A2
Taints:             <none>
Unschedulable:      false
Lease:
--
Taints:             <none>
Unschedulable:      false
Lease:
--
Taints:             <none>
Unschedulable:      false
Lease:

Also:

Could you post the logs of hcloud-cloud-controller-manager during the first few minutes after adding a new node?

Does this mean, that if node was in "wrong" state when adding, then it'll be never fixed and I have to reinitialize nodes?

BUT... I will verify all of this because:

  • Regarding master node: while it was initially started with --cloud-provider=external - there was hostname mismatch (FQDN vs. hostname between what was on host and what name was in Hetzner) so maybe that's why it wasnt catched (but why? it should be fixed automatically later when I fixed stuff)
  • Regarding 2 nodes I added later: I forgot to configure Kubelet with --cloud-provider=external so initially it started without. I added it later after node initialization, restarted kubelet and even rebooted node - didn't fix :(

from hcloud-cloud-controller-manager.

apricote avatar apricote commented on July 18, 2024

You should be able to manually add the taint to the affected nodes, which should retrigger the initialization by us, but I have not tested this before, if this is a production cluster, you might want to test it in another cluster first.

kubectl taint node your-node-name node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule

from hcloud-cloud-controller-manager.

morsik avatar morsik commented on July 18, 2024

@apricote I just created new node with all settings correct, and it indeed created missing labels/annotations/providerID so it looks like it works properly when everything is correct, but after you do any kind of mistake, it doesn't recover...

But thank you for this tip!
Tainting node indeed retriggered initialization and now all missing stuff appears and everything is configured properly!

I'm closing this then since it's not a bug in software, but it would be good to add this to documentation.

from hcloud-cloud-controller-manager.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.