发布时间:2026/8/17 11:04:04
RKE2+Rancher单节点集群与Harbor私有仓库部署指南 1. 项目概述最近在帮一家中小型电商企业搭建容器化平台时选择了RKE2Rancher的技术栈。这个组合在轻量级Kubernetes发行版中表现突出特别适合资源有限但需要完整容器编排能力的场景。本文将分享单节点集群的完整部署过程以及如何集成私有镜像仓库的实战经验。RKE2是Rancher实验室推出的新一代Kubernetes发行版相比传统RKE它采用了containerd替代Docker作为默认运行时并通过k3s的轻量化设计理念使安装包体积减少了60%。我们选择单节点部署方案主要考虑到测试环境和中小规模生产场景的需求——这种配置既保留了完整Kubernetes功能又避免了多节点集群的维护复杂度。私有镜像仓库的搭建则是企业级容器平台的关键组件。我们将使用Harbor作为解决方案它提供了镜像漏洞扫描、访问控制等企业级功能。实测表明在单节点配置下这套方案能在2核4G的云服务器上稳定运行10个微服务。2. 环境准备与基础配置2.1 硬件与系统要求对于单节点部署建议的最低配置为2核CPU推荐4核4GB内存推荐8GB50GB磁盘空间Ubuntu 20.04/22.04或CentOS 7/8重要提示生产环境务必禁用swap执行sudo swapoff -a并注释掉/etc/fstab中的swap行。Kubernetes对swap的支持在1.22版本后已被弃用。2.2 系统基础配置首先进行必要的系统优化# 设置主机名并加入hosts sudo hostnamectl set-hostname rke2-server echo 127.0.0.1 rke2-server | sudo tee -a /etc/hosts # 关闭防火墙或放行端口 sudo ufw disable # Ubuntu # 或 sudo systemctl stop firewalld # CentOS # 设置内核参数 cat EOF | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables 1 net.bridge.bridge-nf-call-iptables 1 net.ipv4.ip_forward 1 EOF sudo sysctl --system3. RKE2单节点集群部署3.1 安装RKE2 Server使用官方安装脚本是最快捷的方式curl -sfL https://get.rke2.io | sudo INSTALL_RKE2_CHANNELv1.24 sh -这里我们选择v1.24版本这是当前2023年的长期支持版本。安装完成后需要配置sudo mkdir -p /etc/rancher/rke2/ cat EOF | sudo tee /etc/rancher/rke2/config.yaml write-kubeconfig-mode: 0644 tls-san: - rke2-server - 您的服务器IP node-ip: 您的服务器IP EOF关键参数说明write-kubeconfig-mode控制kubeconfig文件的权限tls-san为API Server证书添加额外SANSubject Alternative Namenode-ip显式指定节点IP避免使用127.0.0.1启动服务并设置开机自启sudo systemctl enable rke2-server.service sudo systemctl start rke2-server.service3.2 验证集群状态等待约2分钟后检查服务状态sudo systemctl status rke2-server journalctl -u rke2-server -f # 查看实时日志获取kubeconfig文件mkdir -p ~/.kube sudo cp /etc/rancher/rke2/rke2.yaml ~/.kube/config sudo chown $USER ~/.kube/config export KUBECONFIG~/.kube/config验证节点状态kubectl get nodes # 应看到类似输出 # NAME STATUS ROLES AGE VERSION # rke2-server Ready control-plane,etcd,master 5m v1.24.4rke2r14. Rancher管理平台安装4.1 通过Helm安装Rancher首先安装helm若未安装curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash添加Rancher的helm仓库helm repo add rancher-stable https://releases.rancher.com/server-charts/stable创建命名空间并安装Rancherkubectl create namespace cattle-system helm install rancher rancher-stable/rancher \ --namespace cattle-system \ --set hostnamerancher.yourdomain.com \ --set bootstrapPasswordadmin \ --set replicas1 \ --set ingress.tls.sourcerancher关键参数说明hostname必须配置为可解析的域名生产环境建议真实域名bootstrapPassword初始管理员密码replicas单节点设为1即可ingress.tls.source使用Rancher自签名证书4.2 访问Rancher控制台安装完成后获取Ingress地址kubectl -n cattle-system get ingress在本地hosts文件中添加解析您的服务器IP rancher.yourdomain.com浏览器访问https://rancher.yourdomain.com使用用户名admin和设置的密码登录。5. Harbor私有镜像仓库部署5.1 准备存储Harbor需要持久化存储我们使用本地路径sudo mkdir -p /data/harbor sudo chmod 777 /data/harbor5.2 Helm安装Harbor添加Harbor仓库helm repo add harbor https://helm.goharbor.io安装Harbor基础配置helm install harbor harbor/harbor \ --namespace harbor-system \ --create-namespace \ --set persistence.enabledtrue \ --set persistence.resourcePolicykeep \ --set persistence.persistentVolumeClaim.registry.storageClass \ --set persistence.persistentVolumeClaim.registry.size20Gi \ --set expose.typeingress \ --set expose.ingress.hosts.coreharbor.yourdomain.com \ --set expose.ingress.annotations.nginx\.ingress\.kubernetes\.io/proxy-body-size1024m \ --set externalURLhttps://harbor.yourdomain.com \ --set harborAdminPasswordHarbor123455.3 配置Docker客户端在需要推送镜像的机器上配置sudo mkdir -p /etc/docker/certs.d/harbor.yourdomain.com # 获取CA证书 kubectl get secret -n harbor-system harbor-ingress -o jsonpath{.data.ca\.crt} | base64 --decode | sudo tee /etc/docker/certs.d/harbor.yourdomain.com/ca.crt重启Docker服务sudo systemctl restart docker测试登录docker login harbor.yourdomain.com # 用户名admin # 密码Harbor123456. 集成与优化配置6.1 将Harbor添加到Rancher在Rancher控制台导航到集群仪表盘选择资源 - Secrets创建名为harbor-creds的Docker Registry类型Secret填写Harbor地址、用户名和密码6.2 配置RKE2使用私有仓库编辑RKE2配置文件sudo vi /etc/rancher/rke2/config.yaml添加以下内容mirrors: harbor.yourdomain.com: endpoint: - https://harbor.yourdomain.com configs: harbor.yourdomain.com: auth: username: admin password: Harbor12345 tls: insecure_skip_verify: true # 仅测试环境使用重启RKE2服务sudo systemctl restart rke2-server7. 常见问题与解决方案7.1 RKE2启动失败排查典型错误1端口冲突sudo netstat -tulnp | grep 6443 # 如果被占用修改config.yaml # kubernetes-api-port: 6444典型错误2证书问题journalctl -u rke2-server | grep cert # 常见解决方法 sudo rm -rf /var/lib/rancher/rke2/server/tls/ sudo systemctl restart rke2-server7.2 Rancher无法访问检查Ingress控制器kubectl -n cattle-system get pods -l apprancher kubectl -n cattle-system logs -l apprancher常见原因域名解析不正确证书问题可临时使用--set ingress.tls.sourceletsEncrypt测试7.3 Harbor镜像拉取失败检查节点上的containerd配置sudo cat /var/lib/rancher/rke2/agent/etc/containerd/config.toml确保包含类似配置[plugins.io.containerd.grpc.v1.cri.registry.mirrors.harbor.yourdomain.com] endpoint [https://harbor.yourdomain.com]8. 性能优化建议8.1 资源分配调整对于单节点集群建议限制系统组件资源cat EOF | kubectl apply -f - apiVersion: v1 kind: Namespace metadata: name: cattle-system --- apiVersion: apps/v1 kind: Deployment metadata: name: rancher namespace: cattle-system spec: template: spec: containers: - name: rancher resources: limits: cpu: 1 memory: 1Gi requests: cpu: 500m memory: 512Mi EOF8.2 存储优化对于生产环境建议使用外部存储如NFS、Ceph替代本地存储为Harbor配置单独的高性能磁盘启用Harbor的垃圾回收定期任务kubectl -n harbor-system create cronjob harbor-gc --image goharbor/harbor-core:latest \ --schedule0 0 * * * -- /bin/sh -c harbor_garbage_collector这套方案在我负责的多个中小型项目中表现稳定单节点配置下可支持20个Pod同时运行。关键是要根据实际负载监控资源使用情况及时调整配置参数。对于需要更高可用性的场景可以考虑升级为3节点的RKE2集群部署模式基本类似只需将部分节点配置为worker角色即可。

相关新闻

2026/8/17 11:04:04

AI智能体社交网络分析:从Moltbook案例看群体智能与社会计算

1. 项目缘起:当AI智能体开始“社交”最近,我花了些时间,对一个名为“Moltbook”的早期AI智能体社交网络平台进行了一次初步的社会网络分析。这个项目听起来可能有点学术,但它的内核其实非常有趣:我们不再仅仅把AI当作一…

2026/8/17 11:04:04

Embedding技术解析:从语义向量到智能检索的应用与局限

你有没有过这样的体验:明明在代码里写的是“苹果”,搜索“水果”却找不到它;或者,用户输入“帮我找一下昨天开会讨论的那个PDF”,你的系统却一脸茫然。我们总希望机器能“理解”我们的意思,而不是机械地匹配…

2026/8/17 11:04:04

SQL Server 2012 从零安装到配置优化全指南

1. 项目概述:为什么今天还要折腾SQL Server 2012? 如果你点开了这篇内容,大概率是接到了一个“历史悠久”的项目维护任务,或者公司内部某个核心业务系统依然运行在SQL Server 2012上。没错,尽管微软早已停止了对SQL Se…

2026/8/17 14:14:40

MinIO时间同步问题排查与解决方案:从原理到实战

1. 问题初探:当MinIO告诉你“时间差太大”如果你在操作MinIO时,突然在日志里或者客户端返回的错误信息中看到The difference between the request time and the server‘s time is too large这个提示,先别慌,这几乎是每个MinIO运维…

2026/8/17 14:14:40

SQL Server 2014 超详细安装部署指南:从零到安全可用的完整实践

1. 项目概述:为什么今天还要折腾SQL Server 2014? 最近在帮一个朋友的公司做老系统的维护,他们有一套核心的业务系统,数据库用的还是SQL Server 2014。朋友想在新服务器上重新部署一套测试环境,结果发现网上找的教程要…

2026/8/17 14:14:40

达梦数据库命令行工具disql/DIsql核心使用与运维实战指南

1. 达梦数据库:从入门到精通的命令行世界 如果你刚接触达梦数据库,或者从Oracle、MySQL这类更常见的数据库转过来,可能会觉得图形化工具更直观。但我要告诉你,真正想玩转达梦,尤其是做运维、性能调优或者自动化脚本&am…

2026/8/17 14:14:40

威尔逊平滑算法:解决小样本评分偏见的置信区间实战指南

1. 项目概述:从“好评率”的陷阱说起如果你在电商、内容平台或者任何涉及用户评价的领域工作过,一定对“好评率”这个指标又爱又恨。爱它,是因为它直观,95%的好评率听起来就很棒;恨它,是因为它常常失真。一…

2026/8/17 14:09:40

iOS开发中NSPOSIXErrorDomain错误解析与视频文件路径获取实战

1. 项目概述:iOS视频文件路径获取的“拦路虎”最近在做一个需要处理本地视频文件上传或编辑的iOS功能时,遇到了一个让人头疼的问题:在尝试获取沙盒内视频文件的路径时,控制台抛出了一个NSPOSIXErrorDomain错误。这个错误不像常见的…

2026/8/17 10:49:52

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/17 5:02:51

工业传感器与变送器详解:序章 从物理世界到工业数据

序章 从物理世界到工业数据 ——重新认识工业传感器与变送器 工业自动化系统正变得日益复杂。今天的工业现场早已不是简单的控制回路,而是由多层技术共同构成的立体体系:PLC、DCS、SCADA、MES、工业互联网、边缘计算与人工智能。控制系统可以执行复杂算法,工业网络可以实现…

2026/8/17 0:02:57

LabVIEW异步调用实战:解决界面卡顿与并行处理难题

1. 项目概述:为什么异步调用是LabVIEW进阶的必经之路如果你在LabVIEW里写过稍微复杂点的程序,尤其是涉及到界面响应、多任务并行或者硬件IO等待,大概率会遇到一个头疼的问题:程序“卡”住了。前面板点不动,进度条不更新…

2026/8/17 0:02:57

飞书局域网文件传输实战:3种方案实现高速点对点传输

1. 项目概述:为什么要在局域网内用飞书传文件? 飞书作为一款主流的协同办公套件,其核心功能是围绕云端协作设计的。无论是文档、表格还是文件,通常的分享逻辑都是“上传到云端 -> 生成链接 -> 分享给同事”。这个流程在互联…

2026/8/15 9:46:39

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/16 16:53:03

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/15 9:46:30

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…