安装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


目录
相关文章
|
29天前
|
缓存 JavaScript 前端开发
深入浅出:使用Node.js构建RESTful API
【9月更文挑战第3天】在数字化浪潮中,后端开发如同搭建一座连接用户与数据的桥梁。本文将带领读者从零开始,一步步用Node.js搭建一个功能完备的RESTful API。我们将探索如何设计API的结构、处理HTTP请求以及实现数据的CRUD操作,最终通过一个简单的实例,展示如何在真实世界中应用这些知识。无论你是初学者还是有一定经验的开发者,这篇文章都会为你揭示后端开发的奥秘,让你轻松入门并掌握这一技能。
67 3
|
28天前
|
存储 API 数据库
如何使用 ef core 的 code first(fluent api)模式实现自定义类型转换器?
本文介绍了如何在 EF Core 的 Code First 模式下使用自定义类型转换器实现 JsonDocument 和 DateTime 类型到 SQLite 数据库的正确映射。通过自定义 ValueConverter,实现了数据类型的转换,并展示了完整的项目结构和代码实现,包括实体类定义、DbContext 配置、Repositories 仓储模式及数据库应用迁移(Migrations)操作。
50 6
如何使用 ef core 的 code first(fluent api)模式实现自定义类型转换器?
|
2月前
|
JavaScript NoSQL API
深入浅出:使用Node.js构建RESTful API
【8月更文挑战第31天】本文将引导读者了解如何利用Node.js搭建一个高效、易于扩展的RESTful API。通过简单易懂的语言和逐步深入的内容组织,我们将一起探索Node.js在后端开发中的实际应用,包括环境配置、路由设计、数据处理与连接数据库等关键步骤。文章末尾,你将获得完整的项目代码示例,助你快速启动自己的API项目。
|
2月前
|
JavaScript 前端开发 API
深入浅出:使用Node.js搭建RESTful API的实践之旅
【8月更文挑战第31天】本文将带你踏上一次Node.js的探险之旅,通过实际动手构建一个RESTful API,我们将探索Node.js的强大功能和灵活性。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供宝贵的实践经验和深刻的技术洞见。
|
2月前
|
JavaScript 前端开发 中间件
深入浅出Node.js:从零开始构建RESTful API
【8月更文挑战第24天】在数字化时代的浪潮中,后端开发作为支撑现代网络服务的骨架,扮演着至关重要的角色。本文将通过Node.js这一高效灵活的JavaScript运行环境,引领你步入后端开发的神秘世界。我们将从基础概念出发,逐步深入到实战操作,最终构建一个功能完备的RESTful API。无论你是编程新手还是前端开发者,这篇文章都将为你揭示后端开发的奥秘,让你轻松掌握使用Node.js进行API开发的实用技巧。
|
1月前
|
JSON JavaScript 中间件
深入浅出Node.js: 从零开始构建RESTful API
【8月更文挑战第34天】 在数字时代的浪潮中,掌握如何构建高效、可靠的后端服务是每一位开发者的必备技能。本文将通过浅显易懂的语言和实际代码示例,带领初学者走进Node.js的世界,一步步搭建起自己的RESTful API。无论你是编程新手,还是想扩展技术栈的老手,这篇文章都将是你的良师益友。让我们一起探索Node.js的魅力,开启后端开发之旅!
|
2月前
|
JSON JavaScript 中间件
深入浅出Node.js: 从零开始构建RESTful API
【8月更文挑战第31天】 在数字时代的浪潮中,掌握如何构建高效、可靠的后端服务是每一位开发者的必备技能。本文将通过浅显易懂的语言和实际代码示例,带领初学者走进Node.js的世界,一步步搭建起自己的RESTful API。无论你是编程新手,还是想扩展技术栈的老手,这篇文章都将是你的良师益友。让我们一起探索Node.js的魅力,开启后端开发之旅!
|
2月前
|
JavaScript 前端开发 API
深入浅出:使用Node.js打造简易Web API
【8月更文挑战第31天】本文旨在通过一个简单实例,引导读者快速入门Node.js并创建自己的Web API。我们将从零开始,一步步搭建起服务端应用,涉及环境搭建、基本语法、路由处理等关键知识点,最后以代码实例加深理解。无论你是前端开发者还是后端新手,这篇文章都能让你轻松上手,体验后端开发的乐趣。
|
2月前
|
JavaScript 前端开发 中间件
深入浅出Node.js: 从零开始构建RESTful API
【8月更文挑战第30天】本文是一篇针对初学者的Node.js教程,旨在引导读者通过实践学习如何利用Node.js和Express框架快速搭建一个RESTful API。文章将介绍Node.js的基本概念、环境配置、以及如何使用Express框架创建API端点。此外,我们还将探讨如何进行数据操作和错误处理,最终实现一个简单的待办事项管理系统API。通过本教程的学习,读者将能够掌握构建RESTful API的基础技能,并了解如何将其应用于实际项目开发中。
|
2月前
|
JavaScript 前端开发 Linux
【Azure 应用服务】NodeJS Express + MSAL 实现API应用Token认证(AAD OAuth2 idToken)的认证实验 -- passport.authenticate()
【Azure 应用服务】NodeJS Express + MSAL 实现API应用Token认证(AAD OAuth2 idToken)的认证实验 -- passport.authenticate()
下一篇
无影云桌面