轻量级Kubernetes管理:RKE2单节点+Rancher+私有仓库部署指南
2026/8/17 9:19:44 网站建设 项目流程

1. 项目概述

最近在帮客户部署一套轻量级的Kubernetes管理环境,考虑到资源限制和运维成本,最终选择了RKE2单节点集群+Rancher+私有镜像仓库的方案。这套组合特别适合中小团队快速搭建自己的容器化平台,既能满足日常开发测试需求,又不会带来过重的运维负担。

RKE2是Rancher官方维护的Kubernetes发行版,相比原生的K8s安装更加简单,内置了容器运行时、网络插件等核心组件。单节点模式虽然牺牲了高可用性,但对于资源有限的环境或者开发测试场景完全够用。配合Rancher提供的可视化界面,可以大大降低Kubernetes的学习和使用门槛。

私有镜像仓库则是企业级容器化部署的刚需,既能加速镜像拉取,又能保证代码安全。本文将详细介绍从零开始搭建整套环境的完整流程,包括常见问题的解决方案和性能优化建议。

2. 环境准备与基础配置

2.1 服务器要求

推荐使用Ubuntu 20.04/22.04 LTS系统,配置建议:

  • CPU: 4核以上
  • 内存: 8GB以上
  • 磁盘: 100GB以上(建议SSD)
  • 网络: 稳定的内网连接

注意:虽然RKE2单节点对资源要求不高,但如果要同时运行Rancher和私有仓库,建议不要低于上述配置,否则可能遇到性能问题。

2.2 系统初始化

首先进行必要的系统配置:

# 关闭swap sudo swapoff -a sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab # 设置主机名 sudo hostnamectl set-hostname rke2-server # 配置防火墙(如果使用ufw) sudo ufw allow 22/tcp sudo ufw allow 6443/tcp sudo ufw allow 9345/tcp sudo ufw enable

2.3 安装依赖组件

安装Docker作为容器运行时(RKE2也支持containerd,但Docker更通用):

sudo apt-get update sudo apt-get install -y \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io

3. RKE2单节点集群安装

3.1 安装RKE2 Server

RKE2提供了极简的安装方式:

curl -sfL https://get.rke2.io | sudo sh -

启动RKE2服务:

sudo systemctl enable rke2-server.service sudo systemctl start rke2-server.service

检查服务状态:

sudo systemctl status rke2-server.service

3.2 配置kubectl访问

获取kubeconfig文件:

mkdir -p ~/.kube sudo cp /etc/rancher/rke2/rke2.yaml ~/.kube/config sudo chown $(id -u):$(id -g) ~/.kube/config

设置环境变量:

export KUBECONFIG=~/.kube/config export PATH=$PATH:/var/lib/rancher/rke2/bin

验证集群状态:

kubectl get nodes kubectl get pods -A

3.3 网络插件配置

RKE2默认使用Canal(Flannel+Calico)作为网络插件,如果需要修改:

sudo mkdir -p /etc/rancher/rke2/ sudo tee /etc/rancher/rke2/config.yaml <<EOF cni: "cilium" EOF

然后重启RKE2服务:

sudo systemctl restart rke2-server.service

4. Rancher安装与配置

4.1 安装Helm

Rancher推荐使用Helm进行安装:

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

4.2 添加Rancher Helm仓库

helm repo add rancher-stable https://releases.rancher.com/server-charts/stable helm repo update

4.3 安装Rancher

创建命名空间:

kubectl create namespace cattle-system

使用Helm安装Rancher:

helm install rancher rancher-stable/rancher \ --namespace cattle-system \ --set hostname=rancher.yourdomain.com \ --set bootstrapPassword=admin123 \ --set replicas=1

提示:单节点环境设置replicas=1即可,如果是生产环境建议至少3个副本

4.4 访问Rancher UI

获取Rancher服务IP:

kubectl get svc -n cattle-system rancher

在浏览器访问https://<节点IP>: ,使用初始密码admin123登录。

5. 私有镜像仓库搭建

5.1 安装Harbor

Harbor是企业级的私有镜像仓库解决方案:

helm repo add harbor https://helm.goharbor.io helm repo update

创建命名空间:

kubectl create namespace harbor

安装Harbor:

helm install harbor harbor/harbor \ --namespace harbor \ --set expose.type=nodePort \ --set expose.tls.enabled=false \ --set persistence.enabled=true \ --set externalURL=http://harbor.yourdomain.com

5.2 配置Harbor

获取管理员密码:

kubectl get secret -n harbor harbor-core -o jsonpath="{.data.HARBOR_ADMIN_PASSWORD}" | base64 -d

访问Harbor UI(默认NodePort为30002):

http://<节点IP>:30002

5.3 配置Docker客户端

在需要推送镜像的机器上配置:

sudo tee /etc/docker/daemon.json <<EOF { "insecure-registries" : ["harbor.yourdomain.com"] } EOF sudo systemctl restart docker

6. 集成与优化

6.1 将Harbor集成到Rancher

  1. 登录Rancher UI
  2. 进入"集群"->"项目"->"资源"->"密文"
  3. 添加Docker Registry凭证
  4. 在部署应用时选择私有仓库

6.2 性能优化建议

  1. 为RKE2配置合适的资源限制:
# /etc/rancher/rke2/config.yaml kubelet-arg: - "max-pods=100" - "kube-reserved=cpu=500m,memory=1Gi" - "system-reserved=cpu=500m,memory=1Gi"
  1. 调整Harbor资源限制:
helm upgrade harbor harbor/harbor \ --namespace harbor \ --set resources.requests.cpu=500m \ --set resources.requests.memory=1Gi
  1. 定期清理无用镜像:
# 在Harbor UI中设置保留策略 # 或使用gc命令 docker exec -it harbor-jobservice /bin/bash registry garbage-collect /etc/registry/config.yml

7. 常见问题排查

7.1 RKE2启动失败

检查日志:

journalctl -u rke2-server -f

常见原因:

  • 端口冲突(6443,9345等)
  • 磁盘空间不足
  • 内存不足

7.2 Rancher无法访问

检查服务状态:

kubectl get pods -n cattle-system kubectl logs -n cattle-system <rancher-pod-name>

常见原因:

  • 证书问题(自签名证书需要手动信任)
  • 网络策略阻止访问
  • 资源不足导致Pod崩溃

7.3 镜像拉取失败

检查项:

  1. 仓库地址是否正确
  2. 认证信息是否正确
  3. 网络是否可达
  4. 镜像是否存在
kubectl describe pod <pod-name> kubectl logs <pod-name>

8. 安全加固建议

  1. 为Rancher配置有效的TLS证书
  2. 定期备份RKE2集群状态:
sudo /var/lib/rancher/rke2/bin/kubectl --kubeconfig /etc/rancher/rke2/rke2.yaml get --all-namespaces -o yaml > rke2-backup.yaml
  1. 启用Harbor的漏洞扫描功能
  2. 限制Rancher和Harbor的访问IP
  3. 定期更新所有组件到最新版本

这套环境经过实际项目验证,能够稳定支持中小团队的日常开发和测试需求。单节点部署虽然简单,但也要注意定期备份关键数据。如果后续资源充足,可以很方便地扩展为多节点集群。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询