Rancher 简介及部署
# 简介
Rancher 是一套 开源的容器管理平台,核心功能是简化 Kubernetes(K8s)集群的部署、运维、监控和多集群管理,帮助企业或开发者更高效地管理容器化应用。它由 Rancher Labs(后被 SUSE 收购)开发,旨在解决 Kubernetes 原生管理复杂度高的问题,降低容器技术的使用门槛。
# 一、Rancher 的核心定位:Kubernetes 的 “管理中枢”
Kubernetes 是容器编排的事实标准,但原生 K8s 存在 集群部署繁琐、多集群管理分散、运维工具链碎片化 等问题。Rancher 则围绕 K8s 构建了一层 “管理抽象层”,实现:
- 对 任意环境的 K8s 集群(自建、云厂商托管如 EKS/GKE/ACK、边缘集群等)进行统一管控;
- 提供可视化界面、自动化工具,替代复杂的 K8s 命令行操作;
- 集成安全、监控、日志、CI/CD 等全链路工具链,形成 “一站式容器管理闭环”。
# 二、Rancher 的核心功能模块
Rancher 的功能覆盖容器管理全生命周期,核心模块包括:
功能模块 | 核心作用 |
---|---|
多集群管理 | 统一管理多个 K8s 集群(跨云、跨地域、混合云),支持集群模板化部署、配置同步、权限统一控制。 |
Kubernetes 集群部署 | 提供 “一键部署 K8s 集群” 能力,支持在物理机、虚拟机、云服务器(AWS/Azure/ 阿里云等)上快速搭建 K8s。 |
应用商店(App Store) | 内置丰富的开源应用模板(如 MySQL、Elasticsearch、Prometheus 等),支持一键部署容器化应用。 |
监控与日志 | 集成 Prometheus + Grafana 实现集群 / 应用监控,集成 ELK/ Loki 实现日志收集与分析。 |
安全管理 | 支持 RBAC(基于角色的权限控制)、网络策略(Network Policy)、镜像安全扫描、密钥管理等。 |
CI/CD 流水线 | 内置 Rancher Pipeline,支持代码提交触发自动构建、测试、部署,打通 “开发 - 测试 - 生产” 流程。 |
边缘集群管理 | 针对边缘计算场景优化(如弱网络、资源受限),支持边缘节点的轻量化部署和远程管控。 |
# 三、Rancher 的版本演进:从 v2.x 到 Rancher Manager
Rancher 目前主流版本为 Rancher Manager(原 v2.x 系列,最新稳定版为 v2.8.x),历史版本中 v1.x 因架构差异已逐步淘汰。需注意:
- Rancher Manager:基于 “管理集群(Local Cluster)+ 下游集群(Downstream Clusters)” 架构,管理集群负责统一管控,下游集群是实际运行应用的 K8s 集群;
- SUSE 收购后的变化:2020 年 SUSE 收购 Rancher Labs 后,Rancher 仍保持开源属性,同时与 SUSE 的企业级产品(如 SUSE Linux Enterprise)深度整合,增强企业级稳定性和支持。
# 四、Rancher 的适用场景
- 企业级多集群管理:需跨云(如阿里云 + AWS)、跨地域管理多个 K8s 集群的场景(如大型电商、金融企业);
- 简化 K8s 运维:中小团队或非 K8s 专家,希望通过可视化界面替代命令行,降低运维成本;
- 边缘计算场景:需在工厂设备、IoT 终端等边缘节点部署容器,Rancher 支持轻量化集群和弱网络同步;
- 混合云 / 多云部署:企业既有自建数据中心,又使用公有云,需统一管控所有环境的容器资源。
# 五、Rancher 与 Kubernetes 的关系
很多人会混淆两者,核心区别在于:
- Kubernetes:是 “容器编排引擎”,负责单个集群内容器的调度、扩缩容、服务发现等基础能力;
- Rancher:是 “Kubernetes 管理平台”,不替代 K8s,而是对多个 K8s 集群进行 “上层管控”,补充运维、监控、安全等工具链。
简单类比:Kubernetes 是 “单个工厂的生产线”,Rancher 是 “管理多个工厂的总部中枢”。
# 六、Rancher 的优势与不足
# 优势:
- 开源免费:核心功能完全开源,企业可零成本使用,避免厂商锁定;
- 低门槛:可视化界面友好,新手可快速上手 K8s 管理;
- 兼容性强:支持任意 K8s 集群(原生 K8s、云厂商托管 K8s 等),不绑定特定环境;
- 全链路工具链:无需额外集成第三方工具,开箱即用监控、日志、CI/CD 等能力。
# 不足:
- 资源开销:管理集群需占用一定服务器资源(推荐至少 3 节点,满足高可用);
- 企业级支持需付费:开源版本仅提供社区支持,企业级 SLA(服务等级协议)需购买 SUSE 的商业订阅;
- 复杂度随规模上升:管理数十个以上集群时,需规划权限、网络等架构,仍有一定学习成本。
# 部署
Docker 部署
docker pull rancher/rancher:v2.6.12
docker run -d --name=rancher --privileged -p 9090:80 -p 9091:443 -v D:\tools\rancher:/var/lib/rancher rancher/rancher:v2.6.12
2
3
如果失败造成容器停止,那么可以尝试重新启动,如果重新启动失败,那么可能就是容器或镜像有问题,换个版本重新装。
启动成功不一定会显示 succeed, 他有可能会有其他 Error 信息,你可以尝试访问 9091 端口 或 9090 端口,是否能访问,若不能在等等,若能访问,那么恭喜你,Rancher 启动成功。
启动成功后,首次登录会问你要一个 密钥,这个密钥是启动容器的时候,他自己生成的,可以查看历史日志。
# windows
docker logs 8ff0ed2dbf27061c0789594046017ddb90be25c14645f9d51aa79dfea6a01f1e > D:/aa.log
# linux
docker logs 8ff0ed2dbf27061c0789594046017ddb90be25c14645f9d51aa79dfea6a01f1e 2>&1 | grep "Bootstrap Password:"
2
3
4
找到密钥后,输入,然后会让你重置密钥,我们可以选择手动设置密码,默认账户就是 admin,改不了,就此成功进入。
# 使用
Rancher 本身不强制要求你提前手动部署 Kubernetes(k8s)集群,它提供了两种核心使用模式:“创建新 k8s 集群” 和 “导入已有 k8s 集群”,你可以根据实际需求选择,无需绝对 “自己提前部署 k8s”。
# 1. 模式一:通过 Rancher 自动创建 k8s 集群(无需手动部署)
这是最常用的方式,尤其适合从零搭建 k8s 环境的场景。Rancher 会通过内置的集群驱动(如 RKE、RKE2、K3s,或云厂商驱动如 EKS、AKS),帮你自动在目标服务器(物理机、虚拟机、云主机)上部署和配置 k8s 集群,无需手动执行 kubeadm init
等命令。
# 支持的自动创建场景:
- 基于 “空白服务器” 创建:你只需准备好符合要求的服务器(如 CentOS/Ubuntu,已安装 Docker 或 Containerd),在 Rancher 界面中输入服务器的 IP、SSH 账号密码(或密钥),Rancher 会自动在这些服务器上部署 k8s 节点(Master/Worker),并完成集群初始化。
- 基于云厂商创建:Rancher 可直接对接 AWS、阿里云、Azure 等云平台,自动创建云主机并部署 k8s 集群(如自动创建阿里云 ECS 并部署 RKE 集群)。
- 轻量级集群(K3s):对于边缘设备或资源有限的场景,Rancher 可一键部署轻量级 k8s 集群(K3s),简化部署流程。
# 优势:
- 无需掌握 k8s 手动部署细节(如证书配置、组件联动);
- 集群配置统一管理(如网络插件、存储插件可在 Rancher 界面选择);
- 后续集群升级、扩容也可通过 Rancher 界面一键操作。
# 2. 模式二:导入已有的 k8s 集群(适合已有手动部署 / 云厂商集群的场景)
如果你的环境中已经存在手动部署的 k8s 集群(如用 kubeadm
搭建的集群),或云厂商提供的 k8s 集群(如阿里云 EKS、腾讯云 TKE),也可以将其导入 Rancher 进行统一管理,无需重新部署。
# 导入步骤(简化):
- 在 Rancher 界面中选择 “导入现有集群”,选择集群类型(如 “Custom” 对应自定义 k8s 集群);
- Rancher 会生成一段导入脚本(本质是通过
kubectl apply
部署 Rancher 的 “集群代理组件”); - 在已有 k8s 集群的任意节点(或能访问集群
kubeconfig
的机器)上执行这段脚本; - 脚本执行完成后,Rancher 会与已有集群建立连接,后续即可在 Rancher 界面中管理该集群(如部署应用、监控资源)。
# 适用场景:
- 已有成熟的 k8s 集群,想通过 Rancher 提升管理效率(如多集群统一视图、权限控制);
- 集群由第三方工具部署,需接入 Rancher 生态(如关联 Rancher 的监控、日志功能)。