一、概述
1.1、什么是Rancher
Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。 Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并为DevOps团队提供支持。
Kubernetes不仅已经成为的容器编排标准,它也正在迅速成为各类云和虚拟化厂商提供的标准基础架构。Rancher用户可以选择使用Rancher Kubernetes Engine(RKE)创建Kubernetes集群,也可以使用GKE,AKS和EKS等云Kubernetes服务。 Rancher用户还可以导入和管理现有的Kubernetes集群。
Rancher支持各类集中式身份验证系统来管理Kubernetes集群。例如,大型企业的员工可以使用其公司Active Directory凭证访问GKE中的Kubernetes集群。IT管理员可以在用户,组,项目,集群和云中设置访问控制和安全策略。 IT管理员可以在单个页面对所有Kubernetes集群的健康状况和容量进行监控。
Rancher为DevOps工程师提供了一个直观的用户界面来管理他们的服务容器,用户不需要深入了解Kubernetes概念就可以开始使用Rancher。 Rancher包含应用商店,支持一键式部署Helm和Compose模板。Rancher通过各种云、本地生态系统产品认证,其中包括安全工具,监控系统,容器仓库以及存储和网络驱动程序。下图说明了Rancher在IT和DevOps组织中扮演的角色。每个团队都会在他们选择的公共云或私有云上部署应用程序。

1.2、Rancher架构
1.2.1、Docker简述
Docker是容器打包和runtime标准。开发人员从Dockerfiles构建容器镜像,并从Docker镜像仓库中分发容器镜像。Docker Hub是最受欢迎的公共镜像仓库,许多组织还设置私有Docker镜像仓库。Docker主要用于管理各个节点上的容器。
所以Rancher2.0不再支持Docker Swarm。
1.2.2、Kubernetes简述
Kubernetes已成为容器集群管理标准,通过YAML文件来管理配置应用程序容器和其他资源。Kubernetes执行诸如调度,扩展,服务发现,健康检查,密文管理和配置管理等功能。
一个Kubernetes集群由多个节点组成:
-
etcd database
通常在一个节点上运行一个etcd实例服务,但生产环境上,建议通过3个或5个(奇数)以上的节点来创建ETCD HA配置。 -
Master nodes
主节点是无状态的,用于运行API Server,调度服务和控制器服务。 -
Worker nodes
工作负载在工作节点上运行。
默认情况下Master节点也会有工作负载调度上去, 可通过命令设置其不加入调度
1.2.3、Rancher架构
大多数Rancher2.0软件运行在Rancher Server节点上,Rancher Server包括用于管理整个Rancher部署的所有组件。
下图说明了Rancher2.0的运行架构。该图描绘了管理两个Kubernetes集群的Rancher server安装:一个由RKE创建,另一个由GKE创建。

1.2.3.1、Rancher API服务器
Rancher API server建立在嵌入式Kubernetes API服务器和etcd数据库之上。它实现了以下功能:
-
Rancher API服务器
Rancher API server管理与外部身份验证提供程序(如Active Directory或GitHub)对应的用户身份 -
认证授权
Rancher API server管理访问控制和安全策略 -
项目
项目是集群中的一组多个命名空间和访问控制策略的集合 -
节点
Rancher API server跟踪所有集群中所有节点的标识。
1.2.3.2、集群控制和Agent
集群控制器和集群代理实现管理Kubernetes集群所需的业务逻辑:
-
集群控制器实现Rancher安装所需的全局逻辑。它执行以下操作:
-
为集群和项目配置访问控制策略
-
通过调用以下方式配置集群:
- 所需的Docker machine驱动程序
- 像RKE和GKE这样的Kubernetes引擎
-
-
单独的集群代理实例实现相应集群所需的逻辑。它执行以下活动:
-
工作负载管理,例如每个集群中的pod创建和部署
-
绑定并应用每个集群全局策略中定义的角色
-
集群与Rancher Server之间的通信:事件,统计信息,节点信息和运行状况
-
1.2.3.3、认证代理
该认证代理转发所有Kubernetes API调用。它集成了身份验证服务,如本地身份验证,Active Directory和GitHub。在每个Kubernetes API调用中,身份验证代理会对调用方进行身份验证,并在将调用转发给Kubernetes主服务器之前设置正确的Kubernetes模拟标头。Rancher使用服务帐户与Kubernetes集群通信。
二、相关术语
2.1、全局层
全局层主要对Rancher server自身的基础配置,比如Rancher Server URL、登录认证等。
1. 集群
全局层的集群菜单,用于列出集群中所有的K8S集群。
2. 主机驱动
用于与三方云平台API对接的中间件程序。
3. 应用商店-全局
全局层的应用商店,负责应用商店的开关与添加。
4. 用户
添加或者删除用户,或者修改用户的权限。
5. 系统设置
全局下系统的基础配置,比如系统默认镜像仓库。
6. 安全
-
角色
一组权限的集合 -
Pod安全策略
Pod安全设置 -
登录认证
用户的登录访问认证
2.2、集群层
1. 集群
集群仪表盘,显示当前集群的资源状态
2. 主机
当前集群中添加的所有主机
3. 存储
- 存储类
- 持久卷
4. 项目与命名空间
此集群拥有的项目和命名空间
5. 集群成员
6. 工具
- 告警
- 通知
- 日志
- CI/CD
2.3、项目层
1. 工作负载
-
工作负载服务
-
负载均衡
-
服务发现
-
数据卷
-
CI/CD
2. 应用商店-项目

Rancher是一款强大的容器管理平台,支持Kubernetes集群管理、多租户功能、容器主机管理等。它简化了容器的部署和管理,提供图形化界面进行容器应用的部署和监控,同时具备系统监控、日志管理和安全策略。
最低0.47元/天 解锁文章
1244

被折叠的 条评论
为什么被折叠?



