安装KubeEdge报错Error: edge node join failed: unable to determine image API version: rpc error: code = U

简介: 安装KubeEdge报错,报错信息等。

安装KubeEdge报错,报错信息

Error: edge node join failed: unable to determine image API version:

rpc error: code = Unavailable desc = connection error: desc => “transport: Error while dialing dial unix

/run/containerd/containerd.sock: connect: no such file or directory”> execute keadm command failed: edge node join failed: unable to determine image API version: rpc error: code = Unavailable desc = connection error: desc = “transport: Error while dialing dial unix> /run/containerd/containerd.sock: connect: no such file or directory”


1.png


环境:Centos7

k8s版本:1.23.8

尝试解决方案:

参考网上资料:https://blog.csdn.net/qq_38416500/article/details/125377411

crictl config runtime-endpoint unix:///run/containerd/containerd.sock
crictl config image-endpoint unix:///run/containerd/containerd.sock


原因:未配置endpoints

这里需要安装crictl,下载地址:https://github.com/kubernetes-sigs/cri-tools/releases,下载好对应kubelet版本的crictl,然后上传到 /usr/local/bin

目录下解压即可使用,这里不再多说。


但是我发现并不管用,经过一通分析,仔细查看报错信息

发现这个是容器运行时的问题吧,新版本跟k8s保持一致默认使用containerd作为容器运行时,所以这里看你需求,要么检查一下containerd环境是否正常,要么在keadm join的参数里配置使用docker作为容器运行时。


于是来到kubeedge官网,发现这样一段话:

kubeEdge官方安装教程:https://docs.kubeedge.io/zh/docs/setup/keadm_zh/


2.png


这里明确指出:在v1.11.0之后,keadm init 集成了Helm Chart,这意味着 cloudcore 将以容器化的方式运行。

如果您仍需要使用进程的方式启动 cloudcore ,您可以使用keadm deprecated init 进行安装,或者使用v1.10.0之前的版本。


问题原因

1.13版本默认使用containerd,如果需要使用docker,runtimetype和remote runtime endpoint都要在keadm join时指定


解决办法

使用keadm join --help 看一下参数信息,

4.png


注意两个参数:

remote runtime endpoint : KubeEdge Edge Node RemoteRuntimeEndpoint string, If flag not set, it will use unix:///run/containerd/containerd.sock (default “unix:///run/containerd/containerd.sock”),仔细一看这不就是报错信息的那段话么,


runtimetype: Container runtime type (default “remote”) 这里默认使用的是远程remote,那么我们指定一个参数为docker运行镜像就好了


最终运行指令

 keadm join --cloudcore-ipport=172.23.70.235:10000 --kubeedge-version=1.13.0 --runtimetype=docker  --token=3b00d576d63572e2190799efc3596f936601a15319ee594e5a27343d8ee96859.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2Nzg4MjQxMTJ9.-MUpO6z6De0G0Ad7n4JtI-UZu9eEj1Ik9_OGOCz3Hzw


添加一个参数信息:--runtimetype=docker

成功输出信息如下:


6.png


目录
相关文章
|
3月前
|
前端开发 JavaScript NoSQL
使用 Node.js、Express 和 React 构建强大的 API
本文详细介绍如何使用 Node.js、Express 和 React 构建强大且动态的 API。从开发环境搭建到集成 React 前端,再到利用 APIPost 高效测试 API,适合各水平开发者。内容涵盖 Node.js 运行时、Express 框架与 React 库的基础知识及协同工作方式,还涉及数据库连接和前后端数据交互。通过实际代码示例,助你快速上手并优化应用性能。
|
4月前
|
Kubernetes API 网络安全
当node节点kubectl 命令无法连接到 Kubernetes API 服务器
当Node节点上的 `kubectl`无法连接到Kubernetes API服务器时,可以通过以上步骤逐步排查和解决问题。首先确保网络连接正常,验证 `kubeconfig`文件配置正确,检查API服务器和Node节点的状态,最后排除防火墙或网络策略的干扰,并通过重启服务恢复正常连接。通过这些措施,可以有效解决与Kubernetes API服务器通信的常见问题,从而保障集群的正常运行。
281 17
|
7月前
|
JavaScript
node环境之Error: Cannot find module ‘chalk’ 报错无法解决的问题—-网上说让你npm install chalk 基本是没有用的-优雅草央千澈解决方案
node环境之Error: Cannot find module ‘chalk’ 报错无法解决的问题—-网上说让你npm install chalk 基本是没有用的-优雅草央千澈解决方案
504 13
node环境之Error: Cannot find module ‘chalk’ 报错无法解决的问题—-网上说让你npm install chalk 基本是没有用的-优雅草央千澈解决方案
|
6月前
|
JavaScript
nodejs安装之npm ERR! code CERT_HAS_EXPIREDnpm ERR! errno CERT_HAS_EXPIRED reason: certificate has expired-证书错误通用问题解决方案-优雅草央千澈
nodejs安装之npm ERR! code CERT_HAS_EXPIREDnpm ERR! errno CERT_HAS_EXPIRED reason: certificate has expired-证书错误通用问题解决方案-优雅草央千澈
967 27
|
8月前
|
JSON 缓存 JavaScript
深入浅出:使用Node.js构建RESTful API
在这个数字时代,API已成为软件开发的基石之一。本文旨在引导初学者通过Node.js和Express框架快速搭建一个功能完备的RESTful API。我们将从零开始,逐步深入,不仅涉及代码编写,还包括设计原则、最佳实践及调试技巧。无论你是初探后端开发,还是希望扩展你的技术栈,这篇文章都将是你的理想指南。
|
7月前
|
JSON JavaScript 前端开发
深入浅出Node.js:从零开始构建RESTful API
在数字化时代的浪潮中,后端开发作为连接用户与数据的桥梁,扮演着至关重要的角色。本文将引导您步入Node.js的奇妙世界,通过实践操作,掌握如何使用这一强大的JavaScript运行时环境构建高效、可扩展的RESTful API。我们将一同探索Express框架的使用,学习如何设计API端点,处理数据请求,并实现身份验证机制,最终部署我们的成果到云服务器上。无论您是初学者还是有一定基础的开发者,这篇文章都将为您打开一扇通往后端开发深层知识的大门。
148 12
|
8月前
|
API
时间操作[计算时间差]免费API接口教程-{"code":200,"msg":"0天11时6分40秒"}
此API用于获取两个时间戳之间的格式化时间差。支持POST和GET请求,需提供用户ID、用户KEY及两个时间戳作为参数。返回状态码及时间差或错误信息。示例URL:https://cn.apihz.cn/api/time/zjgapi.php?id=88888888&key=88888888&time1=1710925735&time2=1710927735。建议使用个人ID与KEY以避免调用限制。
|
8月前
|
JavaScript NoSQL API
深入浅出Node.js:从零开始构建RESTful API
在数字化时代的浪潮中,后端开发如同一座灯塔,指引着数据的海洋。本文将带你航行在Node.js的海域,探索如何从一张白纸到完成一个功能完备的RESTful API。我们将一起学习如何搭建开发环境、设计API结构、处理数据请求与响应,以及实现数据库交互。准备好了吗?启航吧!
|
8月前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API
使用JavaScript和Node.js构建简单的RESTful API
|
8月前
|
JSON JavaScript API
深入浅出Node.js:从零开始构建RESTful API
【10月更文挑战第39天】 在数字化时代的浪潮中,API(应用程序编程接口)已成为连接不同软件应用的桥梁。本文将带领读者从零基础出发,逐步深入Node.js的世界,最终实现一个功能完备的RESTful API。通过实践,我们将探索如何利用Node.js的异步特性和强大的生态系统来构建高效、可扩展的服务。准备好迎接代码和概念的碰撞,一起解锁后端开发的新篇章。