摘要: 随着云原生技术栈的演进,操作系统作为承载上层应用与编排系统的数字底座,其稳定性、兼容性与性能表现愈发关键。openEuler,作为面向数字基础设施的开源操作系统,其在云原生场景下的适配能力备受关注。本文基于 openEuler 24.03 LTS SP2 发行版,完整记录了从 VMware 虚拟机配置、系统安装、K8s 核心运行时(containerd)部署,到最终 Nginx 应用容器化运行的全过程。旨在通过详尽的、可复现的步骤,深度评测 openEuler 24.03 LTS 在云原生基础环境搭建中的表现。
一、 评测环境搭建:虚拟化层准备

一篇严谨的评测始于一个清晰透明的环境配置。我们首先需要一个承载 openEuler 24.03 LTS SP2 的虚拟机环境
1.1 虚拟化平台和镜像源

本次评测选用 VMware Workstation Pro (您也可以使用 VirtualBox,原理相通)

我们来到官网 www.openeuler.openatom.cn/zh/download... 获取 openEuler 的安装镜像,选择 openEuler 24.03 LTS SP2 作为长期稳定的安装版本,架构一般为 x86 64 服务器即可,选择最小的下载就行了
1.2 虚拟机(VM)创建与硬件配置

在 VMware Workstation 中,我们选择创建新的虚拟机

选择 自定义(高级) 以便精确控制硬件配置,以下将为系统进行详细的部署设置准备:

选择虚拟机硬件兼容性: 点击下一步保持默认的硬件兼容性即可

安装客户机操作系统: 这里选择安装程序光盘程序映像文件,点击浏览导入你刚刚下载的 openEuler-24.03-LTS-SP2-x86_64-dvd.iso 镜像文件,然后点击下一步

选择客户机操作系统: 选择 Linux,版本选择"其他 Linux 5.x 或更高版本 64 位",然后点击下一步

命名虚拟机: 虚拟机名称自己起一个,点击浏览,位置改存到 D 盘或 E 盘,然后点击下一步

处理器配置: 分配 2 个处理器 ,每个处理器 2 个内核 (总共 4 核),以保证 dnf 依赖解析和系统运行的流畅性,然后点击下一步

此虚拟机的内存: 分配 4096 MB (4 GB) 内存,然后点击下一步

网络类型: 关键步骤!选择 "使用桥接网络"。这将使虚拟机在局域网中获得一个独立的 IP 地址,便于后续通过浏览器进行外部访问验证

选择 I/O 控制器类型: 保持默认 LSI Logic SAS,然后点击下一步
选择磁盘类型: 保持默认 SCSI,然后点击下一步

选择磁盘: 选择创建新虚拟磁盘,然后点击下一步

指定磁盘容量: 建议分配 50 GB 空间(选择"将虚拟磁盘存储为单个文件"并"精简置备"),然后点击下一步

指定磁盘文件: 指定磁盘配置文件名,一般保持默认即可,然后点击下一步

已准备好创建虚拟机: 最后检查以下配置,然后点击完成即可,现在就已经完成了所有的配置
1.3 openEuler 24.03 LTS SP2 系统安装
那么接下来就要开始对系统进行安装了,注意可以使用 ctrl + alt 退出虚拟机的鼠标

在左侧就能找到刚才创建的虚拟机,选择开启此虚拟机,进入 openEuler 安装程序

等待程序加载一会儿,然后就会出现这个界面,enter 回车键继续即可,下面的提示点击我已完成安装即可

等待虚拟机安装程序完成至 100%,接下来在安装信息摘要页面,我们需要完成几项基本配置:

语言选择: 中文->简体中文,然后点击继续

然后我们来到这个页面,我们将对这个页面的部分功能进行配置

- 软件选择 :进入"软件选择",我们选择 "最小化安装"。这最能模拟服务器的真实环境,也最能体现我们"从零开始"搭建环境的能力

- 安装目的地 :选择我们创建的
50GB虚拟磁盘,使用"自动分区"

- 网络和主机名:进入"网络和主机名",打开右上角的以太网开关

- 用户设置 :选择
root账户,设置root密码,如果是多账户使用,可以再创建普通用户

这几个关键的设置好了之后,点击开始安装并等待完成后重启系统即可

登入账户: localhost login 一般为 root,Password 就输入你刚才设置的密码
二、 系统基线核验与环境初始化
系统启动后,我们首先进行基线核验,线核验
2.1 版本与网络核验
首先,确认操作系统版本是否与预期一致:
bash
cat /etc/os-release

可以看到的确是 openEuler 和 VERSION="24.03 LTS SP2"
接下来,核验网络连接。查看 IP 地址并测试外网连通性:
bash
# 查看 IP 地址
ip addr show
# 测试网络连通性
ping -c 3 openeuler.org

能看到 IP 地址和丢包率为 0% 即可
2.2 DNF 软件源更新
使用 dnf 更新一下软件源缓存,确保我们能获取到最新的软件包列表
bash
# 清理并生成缓存
sudo dnf clean all
sudo dnf makecache

三、 容器化引擎部署(containerd + nerdctl)
引擎部署是云原生实践的核心。在 24.03 LTS 这样的现代操作系统上,我们拥有了更前沿的选择
3.1 技术选型:为何选择 containerd?
虽然 docker (Moby) 是最广为人知的容器引擎,但在当今的云原生(尤其是 Kubernetes)生态中,containerd 才是处于"C 位"的核心运行时。docker 本身在后端也依赖于 containerd
因此,本次评测我们"绕过" Docker 的上层封装,直接 containerd。为了方便操作,我们搭配使用 nerdctl------这是一个与 docker CLI 命令和功能高度兼容的客户端工具
这种 containerd + nerdctl 的"K8s 原生"组合,能更纯粹地体验 openEuler 24.03 LTS 对核心运行时的支持
3.2 引擎安装
openEuler 24.03 的官方源中已经包含了 containerd 和 nerdctl,我们可以直接使用 dnf 一键安装。
bash
# -y 参数表示自动确认所有依赖项
sudo dnf install containerd nerdctl -y
3.3 守护进程配置与启动
安装完成后,我们需要使用 systemd 来启动 containerd 服务。
bash
# 1. 立即启动 containerd 服务
sudo systemctl start containerd
# 2. 设置 containerd 服务开机自启
sudo systemctl enable containerd
systemctl enable 命令的原理是在 /etc/systemd/system/ 目录下的相应 .target(如 multi-user.target.wants/)中创建 containerd.service 的符号链接,确保系统在下次启动到多用户模式时自动拉起该服务
3.4 状态与版本验证
验证 containerd 服务是否按预期运行:
bash
# 检查服务状态
systemctl status containerd
同时,我们检查 nerdctl 的版本信息,确认其能与 containerd 正常通信:
bash
sudo nerdctl version
四、 云原生应用部署实战 (Nginx)
环境完备,我们开始部署第一个容器化应用 Nginx
4.1 镜像拉取与分层存储
sudo nerdctl pull 命令将从 Docker Hub(默认)拉取 Nginx 的官方镜像。容器镜像采用了联合文件系统(如 OverlayFS),由多个只读层(Layers)构成
bash
# 拉取最新的 Nginx 稳定版镜像
sudo nerdctl pull nginx:latest
4.2 容器实例化与端口映射
使用 sudo nerdctl run 命令来启动容器
bash
# -d: 后台(Detached)模式运行
# -p 8080:80: 端口映射(Host:Container)
# --name my-web: 指定容器名称
# nginx: 使用的镜像
sudo nerdctl run -d -p 8080:80 --name my-web nginx
-p 880:80是此命令的核心。其底层原理是containerd(及其 CNI 插件,如 bridge)通过 iptables(或 nftables)在宿主机的 NAT 表中添加了一条 DNAT 规则。该规则将所有目标(DST)为宿主机(0.0.0.0:8080)的流量,转发(DNAT to)到 Nginx 容器在内部网络的 80 端口
4.3 运行状态检视
使用 sudo nerdctl ps 查看容器是否按预期运行。
bash
sudo nerdctl ps
五、 部署验证与服务访问
我们从本地和外部两个维度验证 Nginx 服务的可用性。
5.1 本地环回测试 (Loopback)
在 openEuler 终端内,使用 curl 访问宿主机映射的 8080 端口。
bash
curl http://localhost:8080
六、总结
从零构建虚拟机、安装 openEuler 24.03 LTS SP2、部署 containerd 运行时,直至运行 Nginx 服务的全过程:
-
紧沿,生态完善 :
openEuler 24.03 LTS SP2作为一个现代化的发行版,其软件源中直接了containerd和nerdctl,免去了复杂的编译和第三方源配置。这体现了openEuler社区对K8s和云原生标准生态的迅速跟进与完美支持。 -
高度稳定,内核先进 :系统(基于
6.x内核)对Cgroups v2和Namespaces的支持更加完善,systemd对containerd服务的管理表现得高度稳定,全程无任何报错 -
流程标准,体验顺畅 :整个部署流程遵循 Linux 标准实践(
dnf,systemctl),全程使用sudo也符合服务器安全规范。nerdctl带来的"Docker 兼容"体验,使得迁移和学习成本几乎为零 -
云原生基石稳固 :此次评测成功验证了
openEuler 24.03 LTS具备了作为"K8s底座"的全部关键能力:可靠的内核、标准的容器运行时(CRI)、稳健的网络(CNI)能力。这为后续部署K8s集群、Service Mesh甚至AI(如Kubeflow)等复杂云原生组件奠定了最坚实的基础
openEuler 24.03 LTS SP2 展现了其作为数字基础设施操作系统的专业性、先进性与可靠性

分享一下 openEuler 相关产品官方信息:
1.产品地址:www.openeuler.org/
2.评测地址:www.openeuler.org/
3.产品使用说明:docs.openeuler.openatom.cn/zh/