k8s(十二)Rancher详解
文章目录
- 前言
- 一、什么是Rancher?
- 二、为什么要使用Rancher?
- 三、为什么不选kube-board、k9s、kubesphere、k3s,而选Rancher?
- 四、何时优先选Rancher?
- ————————————————————————————————————————————————————————————
- 一、Rancher 详解
- 1.1 Rancher 平台简介
- 1.2 Rancher 与 Kubernetes 的区别
- 二、Rancher 安装与配置实操
- 2.1 实验环境准备
- 2.2 Rancher 安装步骤
- 2.2.1 下载所需镜像
- 2.2.2 启动 Rancher 容器
- 2.2.3 验证 Rancher 容器状态
- 2.3 Rancher 平台登录
- 2.4 导入已存在的 Kubernetes 集群
- 2.4.1 生成集群导入命令
- 2.4.2 在 k8s 控制节点执行导入命令
- 2.4.3 验证集群导入结果
- 2.5 部署 Rancher 监控系统
- 三、使用 Rancher 仪表盘管理 Kubernetes 集群(以 Nginx 服务为例)
- 3.1 创建命名空间(Namespace)
- 3.2 创建 Deployment 资源
- 3.3 创建 Service 资源
- 3.4 验证 Nginx 服务可用性
- 总结
前言
一、什么是Rancher?
Rancher 是一个开源的容器管理平台,由SUSE公司开发维护,核心功能是简化Kubernetes(K8s)集群的部署、管理、监控和运维。它不仅支持对单个K8s集群的可视化操作,更专注于多集群管理,能统一管控分布在不同环境(物理机、云厂商、边缘设备等)的多个K8s集群,同时提供身份认证、权限控制、应用商店、CI/CD集成等全链路功能。
二、为什么要使用Rancher?
Rancher的核心价值在于解决K8s在规模化和复杂化场景下的管理难题,主要体现在:
-
多集群统一管控
对于企业级用户(尤其是跨云、混合云或边缘部署场景),可能需要管理数十甚至上百个K8s集群。Rancher可以将这些集群纳入同一控制台,统一进行配置分发、版本升级、监控告警,避免逐个集群操作的繁琐。 -
简化K8s使用门槛
即使是对K8s命令不熟悉的运维或开发人员,也能通过Rancher的图形界面完成集群部署、Pod调度、资源配置等操作,降低学习成本。 -
企业级安全与合规
集成了RBAC(基于角色的访问控制)、多租户隔离、审计日志、镜像安全扫描等功能,满足企业对权限管理和合规性的要求。 -
生态兼容性强
支持对接各类存储、网络插件,以及Prometheus、Grafana等监控工具,同时提供应用商店(Helm Chart),方便快速部署中间件或业务应用。 -
支持边缘与混合云场景
针对边缘计算场景优化,可轻松管理分布在偏远地区的小型K8s集群(如k3s),适合物联网、制造业等场景。
三、为什么不选kube-board、k9s、kubesphere、k3s,而选Rancher?
首先需要明确:这些工具并非完全对立,部分工具与Rancher定位不同,甚至可以配合使用。差异主要体现在功能范围和适用场景:
-
kube-board / k9s:轻量可视化工具,而非完整管理平台
- kube-board 是单个K8s集群的轻量级Web可视化工具,功能简单(仅展示资源状态、日志等),不支持多集群管理或企业级安全功能。
- k9s 是命令行界面(CLI)的K8s管理工具,适合熟悉命令行的用户快速操作单个集群,但缺乏图形界面和全局管控能力。
相比之下,Rancher是全功能平台,覆盖从集群部署到运维的全流程,而非单一的可视化工具。
-
KubeSphere:功能类似但生态整合度不同
KubeSphere 也是面向K8s的开源管理平台,与Rancher定位接近,但差异在于:- Rancher 对多集群管理的支持更成熟,尤其在跨云、混合云场景下的兼容性更强(支持AWS EKS、Azure AKS等公有云K8s服务)。
- Rancher 与SUSE的企业级服务(如Rancher Prime)结合更紧密,适合需要商业支持的企业。
两者选择更多是生态偏好,而非绝对优劣。
-
k3s:轻量级K8s发行版,与Rancher是“互补关系”
k3s 是 Rancher 公司开发的轻量级K8s(针对边缘和资源受限环境),本质是K8s的简化版本,而Rancher是管理平台。实际上,Rancher 对k3s的支持非常好,很多场景下会用Rancher管理多个k3s集群,两者是配合使用的关系,而非替代。
四、何时优先选Rancher?
如果你的需求是:
- 管理多个K8s集群(跨环境、跨云);
- 需要企业级安全、权限和合规功能;
- 希望简化K8s全生命周期管理(从部署到运维);
- 涉及边缘计算或混合云场景;
那么Rancher比单一的可视化工具(kube-board、k9s)或专注单集群的平台更合适。而如果只是管理单个集群、追求轻量或命令行效率,其他工具可能更简洁。
————————————————————————————————————————————————————————————
一、Rancher 详解
1.1 Rancher 平台简介
Rancher 是一款开源的企业级多集群 Kubernetes 管理平台,核心价值在于实现 Kubernetes 集群在混合云与本地数据中心的集中化部署与管理。它能保障集群安全性,加速企业数字化转型进程,目前已有超过 40000 家企业每日通过 Rancher 提升创新效率。
其官方文档地址为:https://docs.rancher.cn/,可获取最新功能说明与技术支持。
1.2 Rancher 与 Kubernetes 的区别
Rancher 与 Kubernetes(简称 k8s)虽同属容器调度与编排领域,但定位与功能存在关键差异,具体对比如下:
对比维度 | Rancher | Kubernetes |
---|---|---|
核心定位 | 多集群管理平台 | 单集群容器调度编排系统 |
管理范围 | 可管理应用容器,更核心是管理 k8s 集群 | 仅负责单集群内容器的调度、编排与资源管理 |
易用性 | Rancher 2.x 底层基于 k8s 调度引擎,通过封装简化操作,用户无需深入理解 k8s 概念即可部署容器 | 需用户掌握 Pod、Deployment、Service 等核心概念,操作门槛较高 |
二、Rancher 安装与配置实操
2.1 实验环境准备
本次实验涉及 4 个节点,节点角色、名称及 IP 地址固定,需提前确认网络互通,具体信息如下:
- 控制节点(master01):192.168.10.120
- 工作节点(node01):192.168.10.126
- 工作节点(node02):192.168.10.127
- Rancher 节点(rancher):192.168.10.128
2.2 Rancher 安装步骤
2.2.1 下载所需镜像
- 在 master01 节点下载 rancher-agent 镜像,执行命令:
docker pull rancher/rancher-agent:v2.5.7
- 在 rancher 节点下载 rancher 主镜像,执行命令:
docker pull rancher/rancher:v2.5.7
2.2.2 启动 Rancher 容器
在 rancher 节点执行启动命令,配置容器自重启、端口映射与权限,命令如下:
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged --name rancher rancher/rancher:v2.5.7
- 参数说明:
--restart=unless-stopped
表示容器退出时自动重启(Docker 守护进程启动时已停止的容器除外);-p 80:80 -p 443:443
映射 HTTP(80 端口)与 HTTPS(443 端口);--privileged
赋予容器特权模式,确保正常运行;--name rancher
为容器命名便于管理。
2.2.3 验证 Rancher 容器状态
执行命令查看容器是否正常启动,若状态为“Up”则表示启动成功:
docker ps -a|grep rancher
2.3 Rancher 平台登录
- 容器启动后需等待 1-2 分钟,待服务初始化完成,在浏览器访问 Rancher 节点 IP:http://192.168.10.128。
- 由于未使用授信 SSL 证书,浏览器会提示安全报警,直接忽略并继续访问即可。
- 若登录页面为英文,点击页面右下角的语言选项,切换为“中文”,提升操作便捷性。
2.4 导入已存在的 Kubernetes 集群
2.4.1 生成集群导入命令
- 在 Rancher 首页点击【添加集群】,选择【导入】选项。
- 【集群名称】设置为“k8s-cluster”,点击【创建】按钮。
- 在生成的导入命令中,选择第三条“绕过证书检查”的命令,复制该命令备用(适用于测试环境,生产环境需配置合法证书)。
2.4.2 在 k8s 控制节点执行导入命令
- 登录 k8s 控制节点(master01),粘贴并执行复制的导入命令:
curl --insecure -sfL https://192.168.10.128/v3/import/dgtcmxkwpz6hx8c4mdhmb279vq4qqhpm2d7fdw9qrhhvcsmzmg94jc_c-m-txttqx6n.yaml | kubectl apply -f -
- 若第一次执行报错,可再次执行命令,通常为网络延迟导致的资源拉取问题。
2.4.3 验证集群导入结果
- 执行命令查看命名空间,确认 Rancher 相关命名空间(cattle-system、cattle-impersonation-system )已创建:
kubectl get ns
- 查看 cattle-system 命名空间下的 Pod 状态,确保 rancher 集群代理正常运行:
kubectl get pods -n cattle-system -o wide
- 查看 fleet-system 命名空间下的 Pod 状态,确保 fleet 代理正常运行:
kubectl get pods -n fleet-system -o wide
预期输出示例:
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
fleet-agent-55bfc495bd-m9qjt 1/1 Running 0 6m8s 10.244.1.3 node01 <none> <none>
2.5 部署 Rancher 监控系统
- 在 Rancher 集群管理页面,点击【启用监控以查看实时监控】选项。
- 【监控组件版本】选择“0.2.1”,其他参数保持默认配置即可。
- 点击【启用监控】,监控系统启动过程较长,需等待约 10 分钟,期间可刷新页面查看进度。
三、使用 Rancher 仪表盘管理 Kubernetes 集群(以 Nginx 服务为例)
3.1 创建命名空间(Namespace)
命名空间用于隔离集群内的资源,本次创建“dev”命名空间用于部署测试环境的 Nginx 服务:
- 在 Rancher 仪表盘左侧菜单点击【Namespaces】,右侧点击【Create】。
- 【Name】输入“dev”,【Description】可根据需求自定义(如“开发环境资源隔离”),非必填项。
- 点击右下角【Create】,完成命名空间创建。
3.2 创建 Deployment 资源
Deployment 用于管理 Pod 的创建与副本数量,确保服务稳定运行:
- 左侧菜单点击【Deployments】,右侧点击【Create】。
- 基础配置:【Namespace】下拉选择“dev”,【Name】输入“nginx-dev”,【Replicas】输入“3”(表示创建 3 个 Pod 副本)。
- 容器配置:点击中间选项【Container】,【Container Image】输入“nginx:1.14”(指定 Nginx 镜像版本),【Pull Policy】选择“IfNotPresent”(本地有镜像时不重复拉取,节省资源)。
- Pod 标签配置:在【Pod Labels】下点击【Add Label】,【Key】输入“app”,【Value】输入“nginx”(用于关联后续的 Service 资源)。
- 资源标签配置:点击中间选项【Labels and Annotations】,点击【Add Label】,【Key】输入“app”,【Value】输入“nginx”(便于资源分类与筛选)。
- 点击右下角【Create】,完成 Deployment 创建。
3.3 创建 Service 资源
Service 用于暴露 Deployment 管理的 Pod,提供固定访问入口,本次选择“Node Port”类型(通过节点 IP+端口访问服务):
- 左侧菜单点击【Services】,右侧点击【Create】,选择【Node Port】类型。
- 基础配置:【Namespace】下拉选择“dev”,【Name】输入“nginx-dev”。
- 端口配置:【Port Name】输入“nginx”,【Listening Port】输入“80”(Service 监听端口),【Target Port】输入“80”(Pod 内 Nginx 服务的端口),【Node Port】输入“30180”(节点暴露的端口,需在 30000-32767 范围内)。
- 关联 Pod:点击中间选项【Selectors】,【Key】输入“app”,【Value】输入“nginx”(与 Deployment 中 Pod 的标签一致,实现自动关联)。
- 点击右下角【Create】,完成 Service 创建。
3.4 验证 Nginx 服务可用性
- 在 Rancher 仪表盘的【Services】页面,点击“nginx-dev”服务,查看是否已成功关联 3 个 Pod(与 Deployment 副本数一致)。
- 在浏览器输入“节点 IP:30180”(如 192.168.10.120:30180),若能正常显示 Nginx 欢迎页面,说明服务部署成功并可正常访问。
总结
通过本文的介绍与实操,我们系统梳理了 Rancher 的核心价值、适用场景,完成了从环境准备、平台安装到集群导入、服务部署的全流程操作,最终通过 Nginx 服务案例验证了 Rancher 管理 Kubernetes 集群的便捷性。
Rancher 的优势不仅在于降低 K8s 使用门槛,更在于其对多集群、混合云及边缘场景的深度适配,能为企业提供从集群部署到运维监控的一站式解决方案。对于后续使用,可进一步探索其高级功能,例如通过应用商店快速部署中间件、配置 CI/CD 流水线实现自动化交付,或利用审计日志与镜像扫描强化集群安全,让 Rancher 更好地支撑业务规模化发展。