问题描述
我正在尝试安装和运行一个单节点轻量级 kubernetes 集群,以便在我的 Raspberry pi4 上使用,我发现了 k3s.但是,从我读过或看到的内容来看,我可能遗漏了一些东西,但没有找到对我遇到的确切问题的引用(安装后使用简单的 kubectl 命令进行测试):
$ kubectl 获取节点来自服务器的错误(ServiceUnavailable):服务器当前无法处理请求
我引用的安装:
不确定设备上的 k3s 服务器 + 代理是否缺少任何内容或必须更改为主机:
127.0.0.1 本地主机::1 本地主机 ip6-本地主机 ip6-环回ff02::1 ip6-allnodesff02::2 ip6-allrouters127.0.1.1 树莓派
...不知道进一步调试什么??
解决方案在了解更多安装过程后,通过观看此视频 (
然而,查看'/boot/cmdline.txt',这些cgroup值在文件中的哪个位置,但在结束符之后,这禁止k3s服务从文件中充分读取.文件内容要求:
$ sudo cat/boot/cmdline.txtconsole=serial0,115200 console=tty1 root=/dev/mmcblk0p7 rootfstype=ext4 lift=deadline fsck.repair=yes rootwait cgroup_enable=1 cgroup_memory=1 cgroup_enable=memory
完成后,我再次检查 journalctl 以获取日志,并注意到其他明显的日志,关于 pod 的容器等.主节点正在运行!:
$ sudo kubectl 获取节点姓名 状态 角色 年龄 版本树莓派就绪大师 3m52s v1.18.9+k3s1
如果这仍然不起作用,我还看到了最近关于同一问题的博客文章(由于 raspbian 内核更新),其中也建议修复 ->帖子一个>
I'm trying to install and run a single-node lightweight kubernetes cluster, to play around with on my Raspberry pi4, of which I found k3s. However, from what I've read or seen, I'm probably missing something, but haven't found reference to the exact problem I'm getting (testing with simple kubectl command after installation):
$ kubectl get nodes Error from server (ServiceUnavailable): the server is currently unable to handle the request
The installations that I've referenced:
- Turing Pis, multi-node cluster-> The part of knowing and using Ansible currently seems like bit of a overkill)
- Pi setup & k3s install -> Good tutorial, but not having similar config responses?
$ sudo k3s server INFO[2020-09-30T06:58:13.488363192+01:00] Starting k3s v1.18.9+k3s1 (630bebf9) INFO[2020-09-30T06:58:13.489450500+01:00] Cluster bootstrap already complete FATA[2020-09-30T06:58:13.535582640+01:00] starting kubernetes: preparing server: start cluster and https: listen tcp :6443: bind: address already in use
- complete k3s 101 youtube -> Still not magically working, as shown.
So if anyone is able to please help me, or guide me in a direction to better debug and display the problem so that I understand and can fix the problem.
Feedback from the installation didn't display that anything went wrong:
$ sudo curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--write-kubeconfig-mode 664" sh - [INFO] Finding release for channel stable [INFO] Using v1.18.9+k3s1 as release [INFO] Downloading hash https://github.com/rancher/k3s/releases/download/v1.18.9+k3s1/sha256sum-arm.txt [INFO] Downloading binary https://github.com/rancher/k3s/releases/download/v1.18.9+k3s1/k3s-armhf [INFO] Verifying binary download [INFO] Installing k3s to /usr/local/bin/k3s [INFO] Creating /usr/local/bin/kubectl symlink to k3s [INFO] Creating /usr/local/bin/crictl symlink to k3s [INFO] Creating /usr/local/bin/ctr symlink to k3s [INFO] Creating killall script /usr/local/bin/k3s-killall.sh [INFO] Creating uninstall script /usr/local/bin/k3s-uninstall.sh [INFO] env: Creating environment file /etc/systemd/system/k3s.service.env [INFO] systemd: Creating service file /etc/systemd/system/k3s.service [INFO] systemd: Enabling k3s unit Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service. [INFO] systemd: Starting k3s
After that, trying commands:
$ k3s --version k3s version v1.18.9+k3s1 (630bebf9) $ kubectl version Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.9+k3s1", GitCommit:"630bebf94b9dce6b8cd3d402644ed023b3af8f90", GitTreeState:"clean", BuildDate:"2020-09-17T19:04:57Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/arm"} Error from server (ServiceUnavailable): the server is currently unable to handle the request $ sudo kubectl get nodes Error from server (ServiceUnavailable): the server is currently unable to handle the request $ sudo k3s kubectl get nodes The connection to the server 127.0.0.1:6443 was refused - did you specify the right host or port?
And looking with htop, definitely 'something' is happening with k3s servers:
Not sure if anything is missing, or must be changed to hosts, for k3s server + agent on device:
127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters 127.0.1.1 raspberrypi
... No clue what to debug further??
解决方案After learning a bit more of the installation process, by watching this video (k3s install on Pi4 - live walkthrough), I noticed that k3s runs as a service on raspbian.
meaning you're able to:
# see all listed services, to find the name of the running k3s service $ systemctl --type=service # service name ironically being 'k3s', and being able to follow the logs for service $ journalctl -u k3s -f
However, looking in '/boot/cmdline.txt', these cgroup values where in the file, but after a endline-character, which prohibited the k3s service sufficiently reading from the file. File content required to be:
$ sudo cat /boot/cmdline.txt console=serial0,115200 console=tty1 root=/dev/mmcblk0p7 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait cgroup_enable=1 cgroup_memory=1 cgroup_enable=memory
With that done, I checked journalctl again for the logs, and noticed significantly other logs, regarding pod's containers etc. Master node being functional!:
$ sudo kubectl get nodes NAME STATUS ROLES AGE VERSION raspberrypi Ready master 3m52s v1.18.9+k3s1
这篇关于PI4 k3s 安装服务器目前无法处理请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!