导读:本期聚焦于长沙SEO公司创作的《中标麒麟上如何用 Rancher Desktop 搭建本地 Kubernetes 开发环境?》,敬请观看详情。把 Rancher Desktop 装到中标麒麟上,最容易栽跟头的不是安装包本身,而是容器运行时和内核参数的匹配。Rancher Desktop 在 Linux 桌面环境默认通过 Lima 虚拟机运行 k3s,所以宿主机不一定需要完整 Docker 环境,只要保证 QEMU 和图形会话正常即可。本文记录一次在中标麒麟 V10 桌面版上的实操过程,包括 RPM 安装、启动参数调整、镜像加速配置以及 kubectl 访问验证。重点排查了 AppArmor、cgroup v2 和嵌套虚拟化带来的坑,并给出内网环境下的替代方案。整个过程无需额外申请开发者权限,适合想在国产系统上快速拉起本地 K8s 集群的工程师。

国产操作系统办公场景逐渐铺开之后,研发团队面临一个现实问题:如何在基于 Linux 的中标麒麟桌面环境里快速获得一套可用的本地 Kubernetes 集群。Rancher Desktop 作为一款面向桌面端的容器与 Kubernetes 管理工具,支持 RPM 包安装,理论上可以运行在中标麒麟上,但实际配置过程中对内核、虚拟化和容器运行时的依赖比想象中要多。本文以中标麒麟 V10 桌面版为例,记录从安装到部署应用的完整过程,重点说明那些社区文档里没有展开的细节。

中标麒麟上如何用 Rancher Desktop 搭建本地 Kubernetes 开发环境?

环境准备与安装包获取

中标麒麟的桌面版通常基于 RPM 系包管理,因此优先选择 Rancher Desktop 官方发布的 .rpm 安装包。安装前需要确认当前用户具备 sudo 权限,并且系统已经安装了 qemu-kvm、libvirt 以及常用基础工具。Rancher Desktop 在 Linux 平台上默认依赖 QEMU 启动轻量级虚拟机,如果只是把它当作容器运行时来用,KVM 内核模块反而可以缺失,但性能会明显下降。对于大多数开发机,建议开启硬件虚拟化,并从 BIOS 中确认 VT-x/AMD-V 处于启用状态。

可以通过以下命令快速检查内核版本、QEMU 以及当前用户组状态。中标麒麟 V10 的内核基于 4.19 或 5.10,与 Rancher Desktop 对 cgroup 的要求基本兼容,但如果系统已经切换到 cgroup v2,后面的容器引擎选择要做相应调整。

sudo dnf install -y qemu-kvm libvirt
sudo rpm -ivh rancher-desktop-*.rpm
uname -r
ls -l /dev/kvm

安装包可以从 Rancher Desktop 的 GitHub Releases 页面下载,或者在企业内网镜像仓库中获取。由于中标麒麟的软件源不一定包含 docker-ce 仓库,直接使用 rpm 命令安装更加稳妥。安装完成后,系统菜单中会出现 Rancher Desktop 图标,但第一次启动建议从终端执行命令,以便查看日志输出。

启动与容器运行时配置

首次启动 Rancher Desktop 时,图形界面会弹出一系列配置向导,包括选择容器引擎、Kubernetes 版本以及资源上限。这里有一个容易忽略的地方:如果中标麒麟已经预装了 Podman 或者 Docker,Rancher Desktop 仍然会使用自己管理的 containerd 或 moby 引擎,与系统级引擎互不干扰。对于本地 K8s 开发,建议使用 containerd,它的资源占用更低,也与 k3s 的默认配置更贴合。

镜像加速是内网环境下比较关键的环节。Rancher Desktop 在 Linux 上会将配置写入用户目录下的 settings.json。可以通过图形界面的 Preferences 修改,也可以直接编辑该文件后重启应用。下面是一个给 Docker Hub 配置镜像加速的片段,实际使用时将域名替换成团队提供的内网镜像地址。

{
  "containerEngine": {
    "name": "containerd",
    "imageRegistry": {
      "mirrors": {
        "docker.io": "https://mirror.ipipp.com"
      }
    }
  }
}

配置完成后需要完全退出 Rancher Desktop 并重新启动,而不是在图形界面里选择 Restart Kubernetes。因为 settings.json 中的镜像仓库配置只会在应用初始化阶段加载。启动过程中如果遇到权限错误,可以先运行 rancher-desktop --verbose 查看详细日志,确认是否是当前用户没有访问 /dev/kvm 的权限。

验证集群与部署测试应用

Rancher Desktop 启动完成后,会自动在用户目录下生成 kubeconfig 文件。最简单的方式是在终端执行 export KUBECONFIG=$HOME/.config/rancher-desktop/kube/config,然后运行 kubectl 命令。如果集群初始化成功,kubectl get nodes 会显示一个名为 lima-rancher-desktop 的节点,状态为 Ready。

为了验证整套链路,可以创建一个 Nginx 部署和服务,并使用端口转发将服务暴露到本机。下面是一个最小化的 Deployment 和 Service 定义,容器镜像使用 nginx:alpine,适合在本地集群中快速验证。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-demo
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx-demo
  template:
    metadata:
      labels:
        app: nginx-demo
    spec:
      containers:
        - name: nginx
          image: nginx:alpine
          ports:
            - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  selector:
    app: nginx-demo
  ports:
    - port: 80
      targetPort: 80

执行 kubectl apply -f nginx-demo.yaml 后,再使用 kubectl port-forward svc/nginx 8080:80 把服务转发到宿主机的 8080 端口。此时在浏览器中访问 http://127.0.0.1:8080 应当能看到 Nginx 默认首页。这一步验证通过,说明本地 K8s 集群的调度、网络和存储插件都工作正常。

常见报错与解决思路

在中标麒麟上运行 Rancher Desktop 最常见的问题是两个:一是启动虚拟机时报 KVM 权限不足,二是 Kubernetes 节点一直处于 NotReady。第一个问题可以通过将当前用户加入 kvm 组解决,命令为 sudo usermod -aG kvm $USER,然后重新登录。如果宿主机本身是虚拟机,还需要确认嵌套虚拟化已经开启,否则 QEMU 会因为缺少 CPU 虚拟化能力而报错。

第二个问题通常和网络插件或 cgroup 有关。可以用 kubectl describe node 查看节点事件,如果出现有关 flannel 或 CNI 的报错,先检查 settings.json 中是否配置了错误的镜像加速地址,导致 k3s 无法拉取 pause 镜像。对于 cgroup v2 系统,可以尝试在 Preferences 中切换容器引擎为 moby 并重启,或者手动降级 k3s 版本。

此外,中标麒麟的桌面环境如果开启了安全加固策略,可能会阻挡 Rancher Desktop 对 /var/run 目录的写入。遇到这种情况,可以在终端中临时执行 sudo setenforce 0 关闭 SELinux 进行验证,再根据实际需求调整策略。总体来看,这些报错都能通过日志定位,不需要深改系统配置。

最后,本地 K8s 环境主要用于开发测试,不建议直接对外提供服务。养成使用 namespace 隔离不同项目的习惯,配合 Rancher Desktop 的资源限制功能,可以在一台国产系统笔记本上同时运行多个小型集群。

中标麒麟Rancher Desktop本地K8s修改时间:2026-09-28 21:01:58

免责声明:已尽一切努力确保本网站所含信息的准确性。网站作品多为原创整理与精心创作,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们进行处理Email:chomcom@qq.com。
引用或转载本作品时,请注明当前出处:https://www.ipipp.com/html/0928/63133.html,基于非商业用途的前提下,欢迎转载或二创本作品。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。