Comments (4)
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.
@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, restartedkubelet
and even rebooted node - didn't fix :(
from hcloud-cloud-controller-manager.
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.
@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)
- feat(load-balancer): ignore nodes that don't use known provider IDs HOT 12
- Nameserver limit exceeded HOT 3
- Set IPv6 PodCIDR HOT 3
- LoadBalancer does not populate IP field when `disable-public-network` is set. HOT 3
- DnsPolicy results in crashing istio proxy HOT 4
- ci: improve observability into e2e tests HOT 2
- feat: Emit Kubernetes Events for issues HOT 2
- feat(robot): Support Private Networks & Routing HOT 5
- Clarification about network overlapping HOT 3
- New robot node kicked out when joining an established cluster HOT 4
- Readiness gate support for 100% ingress HA HOT 7
- Support secret injection with HashiCorp Vault HOT 2
- HCCM does not remove/update managed certificate HOT 2
- feat: Event when Robot Node is removed because name changed HOT 1
- docs: explain and recommend Robot Webservice Users HOT 1
- Taint uninitialized not getting removed HOT 1
- LoadBalancer / Service Enhancements
- Multiple LoadBalancer services not correct in LB services list HOT 2
- Controller does not properly add node metadata HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hcloud-cloud-controller-manager.