Skip to content
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

k3s crashes if I do not start the cloud-provider #10068

Open
deitch opened this issue May 6, 2024 · 0 comments
Open

k3s crashes if I do not start the cloud-provider #10068

deitch opened this issue May 6, 2024 · 0 comments
Assignees
Milestone

Comments

@deitch
Copy link

deitch commented May 6, 2024

Environmental Info:
K3s Version:

k3s version v1.29.4+k3s1 (94e29e2e)
go version go1.21.9

Node(s) CPU architecture, OS, and Version:

Linux controller-01 5.15.0-105-generic #115-Ubuntu SMP Mon Apr 15 09:52:04 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

(Ubuntu 22.04 on x86_64)

Cluster Configuration:

Single node cluster (for simplicity of reproducing the issue)

Describe the bug:

k3s crashes every ~1:30 with the following error:

May 06 08:54:40 controller-01 k3s[4158]: time="2024-05-06T08:54:40Z" level=fatal msg="network policy controller timed out waiting for node.cloudprovider.kubernetes.io/uninitialized taint to be removed from Node controller-01: timed out waiting for the condition"

Steps To Reproduce:

BIND_IP=<my IP>
INSTALL_K3S_EXEC="\
    --bind-address ${BIND_IP} \
    --advertise-address ${BIND_IP} \
    --node-ip ${BIND_IP} \
    --tls-san ${BIND_IP} \
    --disable-cloud-controller \
    --kubelet-arg cloud-provider=external \
    --disable=servicelb \
    --cluster-init"
curl -sfL https://get.k3s.io | sh -

Install is fine. Because I added --disable-cloud-controller --kubelet-arg cloud-provider=external, it reasonably expects that I will add a cloud-controller, which will remove the taints.

Expected behavior:

I expect it to function. The node continues to have the taint, but k3s should not crash because of that (which, ironically, makes it harder to actually run the cloud-controller)

Actual behavior:

Crash every ~90 seconds.

Additional context / logs:

As described above. k3s is behaving correctly insofar as it expects that taint to be removed. It is causing issues in that it is crashing, rather than simply logging the issue.

As a contrast, run a full k8s (e.g. using kubeadm or "the hard way") with --cloud-provider=external, and it will have the taint. But the apiserver will not crash.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Peer Review
Development

No branches or pull requests

3 participants