k8s初始化报错 [ERROR CRI]: container runtime is not running: ......

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • 一、环境参数
  • 二、报错内容
  • 三、解决方式
    • 1. 查看containerd状态
    • 2. config.toml文件查看
    • 3. 修改文件
    • 4. 重启containerd
  • 四、原因分析及参考
    • 1. 一个关于版本的背景故事
    • 2. 关于containerd的介绍
    • 3. 报错内容中的内容分析
    • 4. containerd安装的默认禁用(重点)


一、环境参数

  • linux系统为ubuntu版本为22.04.3
  • kubernetes版本为1.28.2
  • containerd版本为1.6.25
  • 虚拟机软件vmware pro 17

二、报错内容

执行初始化命令kubeadm init命令时报错,内容如下

error execution phase preflight: [preflight] Some fatal errors occurred:
        [ERROR CRI]: container runtime is not running: output: time="2023-12-07T06:26:18Z" level=fatal msg="validate service connection: CRI v1 runtime API is not implemented for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService"
, error: exit status 1

在这里插入图片描述

三、解决方式

参考第部分的第4小节

1. 查看containerd状态

systemctl status containerd

如果containerd正常运行(Active状态为active(running))
如下
在这里插入图片描述

2. config.toml文件查看

查看containerd的config.toml文件

cat /etc/containerd/config.toml

在这里插入图片描述

3. 修改文件

如果有内容如下

disabled_plugins = ["cri"]

则修改文件

sudo vim /etc/containerd/config.toml

在这里插入图片描述

i进入编辑模式,注释掉

#disabled_plugins = ["cri"]

或者将"cri"删掉,如下

disabled_plugins = []

esc退出编辑然后按shift+zz保存退出

4. 重启containerd

修改的内容重启后生效

systemctl restart containerd

四、原因分析及参考

1. 一个关于版本的背景故事

根据k8s官网的介绍,kubernets 自v 1.24.0 后,移除了 docker.shim(k8s集成的docker),替换采用 containerd 作为容器运行时。因此需要安装 containerd
而containerd是docker的子项目,现在他俩分开了,所以可以单独安装containerd

2. 关于containerd的介绍

常用的容器运行时有docker、containerd、CRI-O等
containerd是一个CRI(Container Runtime Interface)组件,在容器运行时调用containerd组件来创建、运行、销毁容器等
CRI组件遵循OCI规范,通过runc实现与操作系统内核的交互,然后实现创建和运行容器
docker使用containerd作为运行时,k8s使用containerd、CRI-O等

3. 报错内容中的内容分析

CRI Container Runtime Interface 容器运行时接口
container runtime is not running 容器运行时未启动
validate service connection 无效的服务连接
CRI v1 runtime API is not implemented for endpoint “unix:///var/run/containerd/containerd.sock” 容器运行时接口 v1 运行时 接口 没有实现节点文件sock,应该就是此文件未找到

4. containerd安装的默认禁用(重点)

使用安装包安装的containerd会默认禁用作为容器运行时的功能,即安装包安装containerd后默认禁用containerd作为容器运行时
这个时候使用k8s就会报错了,因为没有容器运行时可以用
开启方法就是将/etc/containerd/config.toml文件中的disabled_plugins的值的列表中不包含cri
修改后重启containerd才会生效


感谢阅读,祝君暴富!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/231987.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

构建Servlet项目流程

第一步:创建maven项目 部分基础 依赖的模板基础部分如下 maven-archetype-quickstart: 这是最基本的Archetype,它创建一个包含简单Java类和单元测试的项目。 maven-archetype-webapp: 这个Archetype创建一个简单的Java web应用,包括一个serv…

企业计算机服务器中了eking勒索病毒怎么办,eking勒索病毒解密数据恢复

随着计算机网络技术的不断发展与应用,企业的生产运营效率得到了极大提升,但网络安全威胁一直存在,网络威胁的技术也在不断更新,给企业的数据安全带来了严重威胁。在本月,云天数据恢复中心陆续接到很多企业的求助&#…

国产Type-C PD芯片—接口快充取电芯片

常用USB PDTYPE-C受电端,即设备端协议IC芯片(PD Sink,也叫PD诱骗芯片),诱导取电芯片。 产品介绍 LDR6328: ◇ 采用 SOP-8 封装 ◇ 兼容 USB PD 3.0 规范,支持 USB PD 2.0 ◇ 兼容 QC 3.0 规范&#x…

每日一练【四数之和】

一、题目描述 18. 四数之和 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复&#x…

99、NeRF ray space

CG相机模型 在图形学中最常用的相机模型的原理和小孔成像是类似的。 不同之处在于,如上图,小孔成像得到的图像是倒立的,但是我们希望得到的图像是正向的,因此,我们选择小孔前成像。 从 3D 到 2D 的投影,…

前端开发学习 (五) 生命周期函数、Ajax请求

关于vue实例的声明周期,从Vue实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期 (https://cn.vuejs.org/v2/guide/instance.html#实例生命周期 ) 而声明周期勾子就是生命周期…

uniapp切换页面时报错问题

我们来看如下错误: 该错误的意思是不能切换到 tabbar 页面。tabbar页面通常是公共页面或者底部导航栏,如果我们用 navigateTo 或者 redirectTo 都不能实现页面切换。 我们有两种方式: 第一种是用 switchTab 来进行切换,但注意切…

了解c++11中的新增

一,统一的初始化列表 在引入c11后,我们得出计划都可以用初始化列表进行初始化。 C11 扩大了用大括号括起的列表 ( 初始化列表 ) 的使用范围,使其可用于所有的内置类型和用户自 定义的类型, 使用初始化列表时,可添加等…

从简单的词法分析、语法分析、目标代码生成、语法解释器的过程,粗略讲一下代码的运行过程

目录 简述 为什么能常说C、C语言比C#或java性能好呢 编程语言类别 代码实现一个从源码到到AST再到Interpreter 词法分析器(Lexer) 语法分析器(Parser) 解释器(Interpreter) 代码生成器(C…

uni-app 设置当前page界面进入直接变为横屏模式

首先 我们打开项目的 manifest.json 在左侧导航栏中找到 源码视图 然后找到 app-plus 配置 在下面加上 "orientation": [//竖屏正方向"portrait-primary",//竖屏反方向"portrait-secondary",//横屏正方向"landscape-primary",//横屏…

智能优化算法应用:基于侏儒猫鼬算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于侏儒猫鼬算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于侏儒猫鼬算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.侏儒猫鼬算法4.实验参数设定5.算法结果6.参考…

智能优化算法应用:基于海鸥算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于海鸥算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于海鸥算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.海鸥算法4.实验参数设定5.算法结果6.参考文献7.MA…

mapbox导入本地geojson数据并渲染

成果图 思路与源码 我这里使用的是ant的upload组件 <a-uploadv-model:file-list"fileList":showUploadListfalsename"file"action"https://www.mocky.io/v2/5cc8019d300000980a055e76":headers"headers"change"handleChange&…

Redis主从复制的配置和实现原理

Redis的持久化功能在一定程度上保证了数据的安全性&#xff0c;即便是服务器宕机的情况下&#xff0c;也可以保证数据的丢失非常少。通常&#xff0c;为了避免服务的单点故障&#xff0c;会把数据复制到多个副本放在不同的服务器上&#xff0c;且这些拥有数据副本的服务器可以用…

Leetcode—290.单词规律【简单】

2023每日刷题&#xff08;五十一&#xff09; Leetcode—290.单词规律 实现代码 class Solution { public:bool wordPattern(string pattern, string s) {unordered_map<char, string> m1;unordered_map<string, char> m2;stringstream stro(s);string tmp;for(a…

配电室无人值守改造

配电室无人值守改造是通过运用先进的技术和设备&#xff0c;将传统的需要人工值守的配电室改造成可以远程监控和管理的智能化配电室&#xff0c;从而实现无人值守。这种改造可以提高配电室的安全性、可靠性和效率&#xff0c;降低运维成本。 建立智能监控系统&#xff1a;通过安…

luceda ipkiss教程 44:在PyCharm 中设置Template text

通过设置Template text&#xff0c;可以提升写代码的速度和版图设计效率。 设置了Template text&#xff0c;在PyCharm 命令窗口输入i3后按enter建&#xff0c;就可以快速输入 from ipkiss3 import all as i3 这一段代码&#xff0c;使用起来也是非常方便&#xff1a; 设置过程…

Ubuntu上svn基本使用(gitee提交下载)

目录 环境准备 1. 获取代码到本地 直接获取 获取代码时加入用户名密码 指定版本更新 2. 提交代码 3. 展示代码列表 4. 添加代码文件(目录) 5. 删除gitee仓库中的文件 参考文档链接 环境准备 当前操作系统为Ubuntu22.04LTS gitee 创建仓库时 需要打开svn的支持 sudo…

电脑软件:TileIconifier开始菜单美化工具介绍

目录 一、 软件介绍 二、软件功能 三、使用说明 四、软件下载 一、 软件介绍 TileIconifier是一款简单易用的win10开始菜单美化软件&#xff0c;该程序具备了简单直观的操作界面&#xff0c;打开软件后&#xff0c;您可以在快捷方式列表下选择要美化的快捷方式&#xff0c;…

Billu_b0x

信息收集 #正常进行信息收集就好Starting Nmap 7.94 ( https://nmap.org ) at 2023-11-18 22:07 CST Nmap scan report for 192.168.182.142 (192.168.182.142) Host is up (0.00073s latency).PORT STATE SERVICE 22/tcp open ssh 80/tcp open http | http-cookie-flags:…