news 2026/7/5 16:57:04

无需Kubernetes也能运行Pod!Demystifying Containers之CRI-O实战教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
无需Kubernetes也能运行Pod!Demystifying Containers之CRI-O实战教程

无需Kubernetes也能运行Pod!Demystifying Containers之CRI-O实战教程

【免费下载链接】demystifying-containersA series of blog posts and talks about the world of containers 📦项目地址: https://gitcode.com/gh_mirrors/de/demystifying-containers

Demystifying Containers项目提供了一系列关于容器技术的博客文章和教程,其中CRI-O作为Kubernetes的容器运行时,即使在没有Kubernetes的环境下也能实现Pod的运行。本教程将带你快速掌握CRI-O的核心功能和实战操作,无需复杂的K8s集群也能体验容器编排的魅力。

CRI-O:轻量级容器运行时新选择

CRI-O是一个专为Kubernetes设计的高级容器运行时,遵循UNIX哲学,以简洁高效为特点。它直接实现了Kubernetes容器运行时接口(CRI),能够无缝对接runc等OCI兼容的低级运行时,为容器提供安全可靠的执行环境。

作为CNCF(Cloud Native Computing Foundation)和OCI(Open Container Initiative)认证的项目,CRI-O完全符合容器标准化要求,确保了容器运行的一致性和可移植性。

快速上手:crio-playground环境搭建

项目提供了便捷的crio-playground环境,让你无需复杂配置即可体验CRI-O的强大功能。

一键构建环境

首先克隆项目仓库:

git clone https://gitcode.com/gh_mirrors/de/demystifying-containers cd demystifying-containers/part2-container-runtimes

然后使用Podman构建crio-playground镜像:

podman build -t crio-playground src/

启动CRI-O环境

运行特权容器以启动CRI-O环境:

sudo podman run --privileged -h crio-playground -it saschagrunert/crio-playground

成功启动后,你将进入crio-playground环境:

crio-playground:~ $

实战操作:使用CRI-O运行Pod

1. 创建Pod沙箱

CRI-O使用crictl工具进行交互。首先通过sandbox.yml创建Pod沙箱:

crictl runp sandbox.yml

沙箱配置文件sandbox.yml内容如下:

metadata: name: sandbox namespace: default dns_config: servers: - 8.8.8.8

2. 查看Pod状态

创建成功后,获取Pod ID并查看状态:

export POD_ID=$(crictl pods | grep sandbox | awk '{print $1}') crictl pods

同时可以使用runc查看容器运行状态:

runc list runc ps $POD_ID

3. 创建容器

接下来使用container.yml在Pod中创建容器:

metadata: name: container image: image: nginx:alpine

执行创建命令:

crictl pull nginx:alpine crictl create $POD_ID container.yml sandbox.yml

4. 启动并访问容器

获取容器ID并启动:

export CONTAINER_ID=$(crictl ps -a | grep container | awk '{print $1}') crictl start $CONTAINER_ID

CRI-O默认使用桥接网络配置,你可以直接访问容器内部服务:

crictl exec $CONTAINER_ID ip addr curl 172.0.0.2

为什么选择CRI-O?

CRI-O的设计理念是"做一件事并做好它",它专注于实现CRI接口,不添加多余功能。这种轻量级设计带来了以下优势:

  • 兼容性强:完全符合OCI标准,支持所有OCI兼容的容器镜像和运行时
  • 安全可靠:遵循最小权限原则,默认启用多种安全机制
  • 资源占用低:相比Docker等复杂运行时,CRI-O更加轻量高效
  • Kubernetes原生:直接实现CRI接口,无需额外适配层

总结

通过本教程,你已经掌握了在没有Kubernetes的情况下使用CRI-O运行Pod的基本方法。CRI-O作为轻量级容器运行时,不仅为Kubernetes提供了可靠的容器执行环境,也为单机容器编排提供了新的选择。

如果你想深入了解更多容器技术,可以查看项目中的其他部分:

  • 容器内核技术:part1-kernel-space/
  • 容器镜像原理:part3-container-images/
  • 容器安全最佳实践:part4-container-security/post.md

现在就动手尝试吧,体验CRI-O带来的简单高效的容器运行体验!🚀

【免费下载链接】demystifying-containersA series of blog posts and talks about the world of containers 📦项目地址: https://gitcode.com/gh_mirrors/de/demystifying-containers

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/5 16:56:22

STM32与MC6470 IMU硬件协同及姿态解算实战

1. MC6470与STM32F405RG的硬件协同架构解析MC6470作为一款工业级6自由度惯性测量单元(IMU),其核心价值在于集成了三轴加速度计和三轴陀螺仪的单芯片解决方案。在实际项目中,我选择将其与STM32F405RG搭配使用,主要基于以下硬件协同考量&#x…

作者头像 李华
网站建设 2026/7/5 16:56:01

雅思听力词组总结

1.station oneself in:安顿自己于 真题: teacher stations him or herself in the Quiet Reading area 老师会待在安静阅读区 2.in the vicinity of:在...的附近 真题: a great number of serious assaults occur in the vicinity of motor vehicle 严重的袭击事件发生在机…

作者头像 李华
网站建设 2026/7/5 16:53:49

rawpy缩略图提取:如何从RAW文件中高效提取嵌入式预览图像

rawpy缩略图提取:如何从RAW文件中高效提取嵌入式预览图像 【免费下载链接】rawpy 📷 RAW image processing for Python, a wrapper for libraw 项目地址: https://gitcode.com/gh_mirrors/ra/rawpy 在数字摄影工作流中,RAW文件处理是专…

作者头像 李华
网站建设 2026/7/5 16:50:48

CANN ops-sparse 日志速查表

日志速查表 【免费下载链接】ops-sparse 本项目是CANN提供的高性能稀疏矩阵计算的算子库,专注于优化稀疏矩阵的计算效率。 项目地址: https://gitcode.com/cann/ops-sparse 日志级别选择 场景宏示例参数校验失败OP_LOGEOP_LOGE("aclsparseSpMV", …

作者头像 李华
网站建设 2026/7/5 16:49:27

5分钟上手hexo-tag-aplayer:从安装到播放网易云歌单的快速教程

5分钟上手hexo-tag-aplayer:从安装到播放网易云歌单的快速教程 【免费下载链接】hexo-tag-aplayer Embed aplayer in Hexo posts/pages 项目地址: https://gitcode.com/gh_mirrors/he/hexo-tag-aplayer hexo-tag-aplayer是一款强大的Hexo标签插件&#xff0c…

作者头像 李华
网站建设 2026/7/5 16:49:21

如何永久保存微信聊天记录:3步掌握WeChatMsg完整指南

如何永久保存微信聊天记录:3步掌握WeChatMsg完整指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChat…

作者头像 李华