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

Kind - Kubelet is not running(It may be related to the version or CPU architecture) #3546

Closed
fzj55 opened this issue Mar 13, 2024 · 8 comments
Labels
kind/support Categorizes issue or PR as a support question.

Comments

@fzj55
Copy link

fzj55 commented Mar 13, 2024

What happened:
I'm trying to spin-up a cluster with command:
kind create cluster --image=kindest/node:v1.15.6

What you expected to happen:
I'm expecting to have a cluster up-and-running, however it fails and no cluster is available

Environment:
Mac with M2-cpu
kind version: (use kind version):
kind v0.20.0 go1.20.4 darwin/amd64
Kubernetes version: (what I want): v1.15.6
Docker version:
Server Version: 20.10.14
Storage Driver: overlay2

-----ERROR------
like #1709
&&
(In computer shell)
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get http://localhost:10248/healthz: dial tcp [::1]:10248: connect: connection refused.

Unfortunately, an error has occurred:
timed out waiting for the condition

This error is likely caused by:
- The kubelet is not running
- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
- 'systemctl status kubelet'
- 'journalctl -xeu kubelet'

Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI, e.g. docker.
Here is one example how you may list all Kubernetes containers running in docker:
- 'docker ps -a | grep kube | grep -v pause'
Once you have found the failing container, you can inspect its logs with:
- 'docker logs CONTAINERID'
error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster
fengzhijie@FengzhijiedeMacBook-Pro podAffinityProject % kind create cluster --help
Creates a local Kubernetes cluster using Docker container 'nodes'
&&
(In container shell)
root@kind-control-plane:/# systemctl status kubelet
● kubelet.service - kubelet: The Kubernetes Node Agent
Loaded: loaded (/kind/systemd/kubelet.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/kubelet.service.d
└─10-kubeadm.conf
Active: activating (auto-restart) (Result: exit-code) since Wed 2024-03-13 09:16:08 UTC; 376ms ago
Docs: http://kubernetes.io/docs/
Process: 1355 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS (code=exited, status=255/EXCEPTION)
Main PID: 1355 (code=exited, status=255/EXCEPTION)
CPU: 1.199s

Mar 13 09:16:08 kind-control-plane systemd[1]: kubelet.service: Consumed 1.199s CPU time.

----my thoughts----
The process architecture of kubelet does not match the CPU architecture of my computer. Is there any parameter that can specify the process architecture of kubelet?

@fzj55 fzj55 added the kind/bug Categorizes issue or PR as related to a bug. label Mar 13, 2024
@stmcginnis
Copy link
Contributor

1.15 is way too old at this point. I would recommend using something recent.

If you really need to run 1.15 you may need to downgrade the version of kind you are using to the version that was current at the time. I'm not sure if it will still work though given the world has changed a lot since then.

@fzj55
Copy link
Author

fzj55 commented Mar 13, 2024 via email

@stmcginnis
Copy link
Contributor

Running amd64 on an m2 is probably going to introduce some issues as well.

@fzj55
Copy link
Author

fzj55 commented Mar 13, 2024

@stmcginnis Are you saying that maybe I can solve this problem with a lower "kind" version?

@stmcginnis
Copy link
Contributor

Support for 1.15 ended several years ago, so I would recommend upgrading Kubernetes if you have a choice. Otherwise, yes, you will need to run an older version of kind. There have been various changes like cgroupv2 support and probably a lot more that most likely make the current kind release incompatible with a release that old.

@BenTheElder
Copy link
Member

kind v0.20.0 go1.20.4 darwin/amd64

You should be running arm64 on M2

Kubernetes 1.15 is way out of support, current support from the core project is 1.26+ and while kind tries to support more we can't realistically make guarantees about 11 versions back (there are about 3 a year in kubernetes) https://kubernetes.io/releases/

@BenTheElder
Copy link
Member

#2718

@BenTheElder BenTheElder added kind/support Categorizes issue or PR as a support question. and removed kind/bug Categorizes issue or PR as related to a bug. labels Mar 25, 2024
@BenTheElder
Copy link
Member

This is almost certainly attempting to use cross-architecture kind clusters which does not work and will not be supported. You could get it to work inside a VM, but the kind cluster must match the host (VM or bare metal) architecture, docker's cross-architecture container support is too limited to run something like kind.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/support Categorizes issue or PR as a support question.
Projects
None yet
Development

No branches or pull requests

3 participants