Siv*_*lla 21 kubernetes kubectl kubeadm
无法启动kubernetes API,因此无法启动kube服务,例如:kubectl版本kubect get节点
/home/ubuntu# kubectl version
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.0", GitCommit:"641856db18352033a0d96dbc99153fa3b27298e5", GitTreeState:"clean", BuildDate:"2019-03-25T15:53:57Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port ?
Run Code Online (Sandbox Code Playgroud)
Docker 已安装。使用以下命令安装 kube 组件:
apt-get update && apt-get install -y kubeadm kubelet kubectl
Run Code Online (Sandbox Code Playgroud)
但是,执行时kubeadm init --apiserver-advertise-address=$myip --ignore-preflight-errors=all:
I0408 09:09:07.316109 1 client.go:352] scheme "" not registered, fallback to default scheme
I0408 09:09:07.319904 1 asm_amd64.s:1337] ccResolverWrapper: sending new addresses to cc: [{127.0.0.1:2379 0 <nil>}]
I0408 09:09:07.323010 1 asm_amd64.s:1337] balancerWrapper: got update addr from Notify: [{127.0.0.1:2379 <nil>}]
W0408 09:09:07.332669 1 clientconn.go:1251] grpc: addrConn.createTransport failed to connect to {127.0.0.1:2379 0 <nil>}. Err :connection error: desc = "transport: Error while dialing dial tcp 127.0.0.1:2379: connect: connection refused". Reconnecting...
I0408 09:09:08.325625 1 client.go:352] parsed scheme: ""
I0408 09:09:08.325650 1 client.go:352] scheme "" not registered, fallback to default scheme
I0408 09:09:08.325707 1 asm_amd64.s:1337] ccResolverWrapper: sending new addresses to cc: [{127.0.0.1:2379 0 <nil>}]
I0408 09:09:08.325768 1 asm_amd64.s:1337] balancerWrapper: got update addr from Notify: [{127.0.0.1:2379 <nil>}]
W0408 09:09:08.326158 1 clientconn.go:1251] grpc: addrConn.createTransport failed to connect to {127.0.0.1:2379 0 <nil>}. Err :connection error: desc = "transport: Error while dialing dial tcp 127.0.0.1:2379: connect: connection refused". Reconnecting...
Run Code Online (Sandbox Code Playgroud)
在 kube api 容器日志中获取上述内容。这是全新安装。也尝试过
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
export KUBECONFIG=$HOME/admin.conf
Run Code Online (Sandbox Code Playgroud)
kubectl版本:应该只给出版本详细信息,没有任何连接问题消息 Kubectl获取节点:应该给出主节点和状态的详细信息
E23*_*235 42
我花了几个小时在这上面。
就我而言,我使用的是 Ubuntu 22.04 和 Kubernetes 1.24。
API 一直在重新启动,我在 kubelet 日志中没有找到任何内容:
service kubelet status
journalctl -xeu kubelet
Run Code Online (Sandbox Code Playgroud)
我通过以下方式检查了 API 日志:
/var/log/containers/kube-apiserver-XXXX
Run Code Online (Sandbox Code Playgroud)
我看到了同样的错误:
grpc: addrConn.createTransport 无法连接到 {127.0.0.1:2379
解决方案:
containerd config default | tee /etc/containerd/config.toml
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
service containerd restart
service kubelet restart
Run Code Online (Sandbox Code Playgroud)
说明:
该问题是cgroupv2在 Ubuntu 21.04 及更高版本(Debian 自版本 11 起)中引入的。
您需要通过配置文件( )告诉containerd使用驱动程序。
我正在使用 containerd 提供的默认配置文件 ( )。
不要在“io.containerd.grpc.v1.cri”部分中启用systemd_cgroup,因为该插件似乎不再支持此功能(服务的状态将打印以下日志:
“无法加载插件io.containerd.grpc” .v1.cri" error="invalid pluginconfig: systemd_cgroup 仅适用于运行时 io.containerd.runtime.v1.linux")
您需要在该部分中启用 SystemdCgroup(=true) 标志:systemdCgroup/etc/containerd/config.tomlcontainerd config default | sudo tee /etc/containerd/config.toml
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]"
Run Code Online (Sandbox Code Playgroud)
重新启动containerd-service,然后kubelet-service重新启动您的计算机,然后它应该按预期工作。
图片来源:Slack 的丹尼斯
下面实际上解决了我的问题,不确定这是否是实际发现的:
\napt-get update && \\\n apt-get install -y apt-transport-https add-apt-repository "deb [arch=amd64] download.docker.com/linux/ubuntu bionic stable" curl -s packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - echo "deb apt.kubernetes.io kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list apt update && \\\n apt install -qy docker.io apt-get update && \\\n apt-get install -y kubeadm kubelet kubectl kubernetes-cni kubeadm init --ignore-preflight-errors=all \xe2\x80\x93\nRun Code Online (Sandbox Code Playgroud)\n我之前在 kubernetes 安装过程中安装了 docker.ce。\n现在我尝试使用 docker.io,效果很好,没有进一步的问题。现在它按预期工作。
\n| 归档时间: |
|
| 查看次数: |
14830 次 |
| 最近记录: |