Rancher 容器编排管理平台

Rancher 是什么

Rancher 是一款开源的容器编排与集群管理平台,主要功能是帮助企业或团队对多集群(例如 Kubernetes 集群)进行可视化管理。它在 Kubernetes 之上提供了友好的用户界面和运维工具,使得运维人员可以更容易地管理容器集群、部署服务、监控状态、进行网络和安全策略配置等。

相关术语与概念

  1. Kubernetes(K8s)
    当今主流的容器编排系统,Rancher 2.x 版本几乎全部基于 Kubernetes 进行容器编排管理。

  2. Cluster(集群)
    Rancher 支持管理多个 Kubernetes 集群,可以是自建的本地集群,也可以是云服务商提供的 K8s 集群(例如阿里云 ACK、AWS EKS 等)。

  3. Project(项目)
    Rancher 在 Kubernetes 之上进一步做了抽象,将 Kubernetes 的命名空间(Namespace)进行整合,方便资源的分组和管理。

  4. Workload(工作负载)
    Rancher 中对应用部署做了细分,比如 Deployment、StatefulSet、DaemonSet 等,统称为工作负载,方便在 Rancher UI 中进行查看和操作。

  5. Pipeline(流水线)
    Rancher 提供了可视化的 CI/CD 流水线功能,用于应用持续集成与交付。不过很多团队也会直接使用 Jenkins 等主流 CI/CD 工具,再在 Rancher 中完成部署管理。

  6. Catalog(应用目录)
    Rancher 提供了基于 Helm chart 的应用目录功能,一键安装常见中间件或自定义应用。


业务与技术背景

在互联网应用场景中,随着业务的发展,往往需要快速迭代与弹性伸缩。Docker + Kubernetes + Rancher 可以很好地满足这些需求:

  1. 容器化
    应用逻辑打包在镜像中,避免环境不一致带来的问题,并可轻松在不同平台或环境中运行。

  2. 编排与调度
    Kubernetes 提供了强大的容器编排能力,支持自动扩缩容、滚动升级以及故障自愈。Rancher 进一步将 Kubernetes 的复杂概念封装或可视化,极大降低上手门槛。

  3. 多集群管理
    当企业需要把应用部署到多个云端集群或本地集群时,Rancher 可以实现统一管理和监控。

  4. 易操作性与可视化
    Rancher 提供了可视化的管理面板、权限管理功能以及对 Helm 生态的支持,大幅降低了维护和部署难度。


互联网CICD 全链路流程

image.png

这个仅仅是CI/CD的链路,再前面的数据埋点,后面容器监控,平台告警配置,数据分析,引流,一系列并没有加进来. 当然,普通的企业这个够用了。

持续交付(Rancher 上的部署与更新)

  1. Rancher 集群配置

    • Rancher 中导入或创建 Kubernetes 集群。
    • 在集群内新建一个 namespace(项目),例如 devtestprod 等。
  2. 应用部署/更新

    • 在 Rancher UI 中,选择 Workload(工作负载)或者使用应用目录(Helm chart)完成部署:
      • 指定镜像仓库地址以及镜像标签。
      • 配置环境变量、CPU/内存配额、端口暴露方式等。
    • 当有新版本镜像时,只需在 Rancher 中更新部署的镜像标签,即可触发 Kubernetes 的滚动更新。
  3. 负载均衡和域名配置

    • 若使用 Ingress 控制器(如 Nginx Ingress、Traefik 等),可在 Rancher 中可视化地配置域名、证书、转发策略等,实现对外部流量的管理。
  4. 自动扩缩容

    • Rancher 的 Kubernetes 集群可根据 CPU/内存使用率或自定义指标进行 HPA(Horizontal Pod Autoscaler)配置,实现应用的自动扩缩容。

普通 Docker 部署与 Rancher 部署的优劣势

普通 Docker 部署

  1. 优点

    • 上手简单:只需要安装 Docker,编写 Dockerfile 并运行 docker run 命令即可。
    • 成本较低:不用搭建 Kubernetes/Rancher 等复杂的系统即可快速完成容器化。
  2. 缺点

    • 缺少编排和自动化:需要手动管理容器的启动、停止、扩缩容和网络配置。
    • 部署复杂:一旦涉及多节点、负载均衡、高可用需求,就需要编排层面的配合(docker-compose、Swarm 或 Kubernetes 等)。
    • 监控和可视化管理不足:缺少对容器集群的统一监控,需要自建或整合其他工具(Prometheus、Grafana 等)才能完成复杂需求。

Rancher/Kubernetes 部署

  1. 优点

    • 多集群统一管理:可以管理多个 Kubernetes 集群,利于跨环境部署。
    • 高可用:Kubernetes 本身就支持副本集、滚动升级以及自动扩缩容。
    • 可视化与简化运维:Rancher 提供了友好的 UI,减少对底层 Kubernetes API 的直接操作。
    • 权限与团队协作:Rancher 结合 Kubernetes 的 RBAC,能够精细化管理不同团队在项目/namespace 下的操作权限。
    • 集成监控告警:Rancher 内置或可直接集成 Prometheus/Grafana 等监控堆栈,实现对集群和容器的可观测性。
  2. 缺点

    • 学习曲线较高:需要了解 Kubernetes 相关概念,Rancher 只是在 Kubernetes 之上做了可视化封装。
    • 资源占用更大:对于小型项目,引入 Kubernetes/Rancher 会增加服务器资源及维护成本。
    • 部署和配置较复杂:需要对底层 Kubernetes 集群进行一定的部署或维护,也需关注节点、网络、存储等问题。

rancher是互联网公司的玩法,因为有这个用户量。
中小型公司用rancher也无可厚非,对于企业来说rancher的成本不高。几台高配服务器
个人或者初创公司,docker run就够了。后续量级上来转rancher也是很简单的,成本不高,技术要求比较高


五、Rancher 在互联网场景下的容器监控、引流活动和突发告警处理

  1. 容器监控

    • Rancher 默认可集成 Prometheus、Grafana、Alertmanager 等监控组件,通过 Rancher UI 可以查看应用/节点的资源使用状况(CPU、内存、磁盘、网络等)。
    • 支持自定义告警规则,比如当某个业务指标超出阈值时,自动触发告警并进行通知(Email、钉钉、Slack 等)。
  2. 灰度发布和流量引流

    • Rancher/Kubernetes 可利用 Ingress 或 Service Mesh(如 Istio)来进行部分流量引流或灰度发布。
    • 可在 Rancher 中为新版本工作负载创建一个新的 Deployment,先将部分流量切换到新版本(5%、10%…),观察无异常后再逐步将流量全部切换完成,实现平滑升级。
  3. 突发告警与应急响应

    • 当业务出现流量突增或者其他异常时,HPA 配置可自动扩容相关 Pod,确保服务可用性。
    • Rancher 的多集群环境允许快速调度资源,也可在资源富余的集群上暂时接管更多流量。
    • 告警与可观测体系让团队第一时间知道故障或瓶颈所在,配合日志系统(ELK/EFK)可进行快速定位和诊断。
  4. 操作审计与安全

    • Rancher 提供了操作审计功能,可以在 UI 中查看所有的变更操作和调用历史。
    • 借助 Kubernetes 的 RBAC 和网络策略,可在容器层面进行更细粒度的安全管控。
b618e5df74df353f007b45d642ca68d.png

六、总结

  • Rancher 对容器编排管理、监控、运维、团队协作等提供了可视化与简化的方式,弥补了 Kubernetes 本身学习曲线陡峭、管理复杂的问题。
  • CI/CD 流程中,通常使用 Jenkins(或其他 CI 工具)进行镜像构建及测试,然后通过 Rancher 对后续部署/升级进行可视化管理,完成前后端的持续交付。
  • 普通 Docker 部署 适合小规模或简单场景,但当涉及高可用、多集群管理、监控告警、弹性伸缩等互联网核心需求时,使用 Rancher/Kubernetes 可以提供更完整和可靠的解决方案。
  • Rancher 在 互联网场景 下,依托 Kubernetes 强大的编排能力和自身简洁的 UI,与 Prometheus/Grafana 等监控生态结合,可帮助团队高效管理多集群、大规模容器应用,并应对突发流量、告警和灰度发布需求。

说两点简单的吧

    1. 容器化部署,在容器的维度,排查和定位更为简单。(流量不变,机器不变的情况下)
    1. 在某种流量暴增的情况下,需要快速扩容,方便业务的拓展,rancher可以支持快速扩容。例如双11、圣诞节、情人节等等突发活动,平时的服务器量级不够用,在用户量暴涨情况下,保证抢购,优惠活动的用户层面的无感知。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容