Rancher

一、Rancher 是什么?有什么作用?

1、定义:

Rancher 是一个开源的企业级 多集群 Kubernetes(k8s)管理平台。

2、核心功能与作用:

(1)集中化管理多个 Kubernetes 集群

支持混合云(公有云 + 私有云)和本地数据中心。

无论集群部署在哪里,都可以通过 Rancher 统一纳管。

(2)简化 Kubernetes 使用门槛

用户即使不熟悉 k8s 命令或 YAML 配置,也能通过图形界面(GUI)完成应用部署、监控、扩缩容等操作。

(3)增强安全性和运维能力

提供 RBAC 权限控制、审计日志、集群备份恢复、安全策略等企业级功能。

(4) 集成生态工具

内置支持 监控(如 Prometheus/Grafana)、日志、CI/CD(通过 Fleet) 等。

📌 注意:Rancher 本身 不是容器调度器,而是 Kubernetes 的管理平台。它底层依赖于 Kubernetes,不能替代

k8s。

二、文档中各步骤详解

1、 步骤 1:安装 Rancher(在 rancher 节点 192.168.10.166 上)

bash 复制代码
docker pull rancher/rancher:v2.5.7
docker run -d --restart unless-stopped -p 80:80 -p 443:443 --privileged --name rancher rancher/rancher:v2.5.7

含义:
 拉取官方 Rancher 镜像(v2.5.7 版本)。
 启动一个 Docker 容器运行 Rancher Server。
   -p 80:80 -p 443:443:将 HTTP/HTTPS 端口暴露出来,用于 Web 访问。
   --privileged:赋予容器较高权限(Rancher 需要访问主机资源)。
   --restart unless-stopped:容器随 Docker 服务自启,除非手动停止。
💡 这一步是 部署 Rancher 控制台本身,相当于搭建了一个"K8s 集群的管理后台"。

2、步骤 2:登录 Rancher Web 界面

(1)浏览器访问 https://192.168.10.166

(2)忽略浏览器证书警告(因为使用的是自签名证书)

(3)可切换为中文界面

✅ 目的:进入图形化管理界面,开始纳管集群。

3、步骤 3:导入已有的 Kubernetes 集群(k8s-cluster)

操作流程:

(1)在 Rancher UI 中选择【添加集群】→【导入】

(2)填写集群名称(如 k8s-cluster),点击创建

(3)复制生成的 curl | kubectl apply 命令

(4)在 K8s 控制节点(master01) 上执行该命令:

bash 复制代码
curl --insecure -sfL https://192.168.10.166/v3/import/...yaml | kubectl apply -f -

含义:
  该命令会在目标 k8s 集群中部署两个关键组件:
    cattle-cluster-agent(位于 cattle-system 命名空间):负责与 Rancher Server 通信。
    fleet-agent(位于 fleet-system 命名空间):用于后续的 GitOps 和批量集群管理。
--insecure:跳过 SSL 证书验证(因 Rancher 使用自签名证书)。
✅ 结果:原有 k8s 集群被成功注册到 Rancher,可在 UI 中查看和管理。
  

4、步骤 4:启用集群监控

(1)在 Rancher UI 中点击【启用监控】

(2)选择监控版本(如 0.2.1)

(3)等待约 10 分钟(自动部署 Prometheus、Grafana 等组件)

含义:

Rancher 会自动在集群中部署 监控栈(Monitoring Stack)

启用后可查看 CPU、内存、Pod 状态等实时指标

✅ 目的:实现对集群和应用的可观测性(Observability)。

5、步骤 5:通过 Rancher 仪表盘部署 Nginx 应用(示例)

子步骤分解:

️①创建命名空间(Namespace)

名称:dev

作用:隔离开发环境资源

②创建 Deployment

命名空间:dev

名称:nginx-dev

副本数:3

镜像:nginx:1.14

标签(Label):app=nginx(用于 Service 关联 Pod)

📌 Deployment 负责确保 3 个 Nginx Pod 始终运行。






③ 创建 Service(NodePort 类型)

类型:NodePort(对外暴露服务)

端口映射:

Service 端口:80

TargetPort(Pod 端口):80

NodePort:30180(集群任意节点 IP + 30180 即可访问)

Selector:app=nginx(匹配带此标签的 Pod)


✅ 最终效果:访问 http://<任意节点IP>:30180 即可看到 Nginx 欢迎页。

相关推荐
Lsir10110_1 天前
【Linux】进程信号(上半)
linux·运维·服务器
开开心心就好1 天前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节
火车叼位1 天前
脚本伪装:让 Python 与 Node.js 像原生 Shell 命令一样运行
运维·javascript·python
迎仔1 天前
06-存储设备运维进阶:算力中心的存储管家
运维
?re?ta?rd?ed?1 天前
linux中的调度策略
linux·运维·服务器
全栈工程师修炼指南1 天前
Nginx | stream content 阶段:TCP 协议四层反向代理浅析与实践
运维·网络·网络协议·tcp/ip·nginx
hweiyu001 天前
Linux 命令:tr
linux·运维·服务器
Trouvaille ~1 天前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议
allway21 天前
基于华为taishan200服务器、arm架构kunpeng920 cpu的虚拟化实战
linux·运维·服务器
CSCN新手听安1 天前
【linux】高级IO,I/O多路转接之poll,接口和原理讲解,poll版本的TCP服务器
linux·运维·服务器·c++·计算机网络·高级io·poll