一、Rancher 简介
Rancher 是为使用容器的公司打造的容器管理平台,通过 Rancher,企业不再需要使用一系列开源软件从零开始构建一个容器服务平台。同时 Rancher 还提供了一个全栈容器部署和管理平台,用于管理 Docker 和 Kubernetes。
1.Rancher API Server 的功能
Rancher API Server 是基于嵌入式 Kubernetes API Server 和 ETCD 数据库建立的,它提供了以下功能:
1)授权和角色权限控制
- 「用户管理:」 Rancher API Server 除了管理用户在公司内部使用的认证信息之外,还可以管理用户访问外部服务所需的认证信息。
- 「授权:」 Rancher API Serrver 可以管理权限控制策略和安全策略。
2)使用 Kubernetes 的功能
- 「运行 Kubernetes 集群:」 Rancher API Server 不仅可以在已经存在的节点上运行 K8s 集群,还可以对 K8s 集群进行版本升级。
- 「应用商店管理:」 Rancher 可以使用 Helm Charts 应用商店重复部署应用。
- 「项目管理:」 项目是由一个 K8s 集群内的多个命名空间和多个访问控制策略组成,允许用户以组为单位,管理多个命名空间。
- 「流水线:」 Rancher 支持对每一个项目单独配置流水线。
3)查看集群信息
- 「日志:」 Rancher 可以和多种主流日志工具集成(如:ELK)
- 「监控:」 使用 Rancher,我们可以通过 Prometheus 监控集群节点、Kubernetes 组件、软件部署的状态和进度。
- 「告警信息:」 当我们 K8s 集群内出现问题时,Rancher 会在界面上进行提示。
2.Rancher 主要组件和功能图示
Rancher 提供的功能:
- 支持 K8s 集群的身份验证和基于角色的访问控制(RBAC),使管理员可以全方面的控制所有集群的访问。
- 支持 K8s 资源监控,并在需要时发送告警,同时可以将容器内的日志发送给外部日志系统,还可以通过应用商店与 Helm 集成。
- 支持与外部的 CI/CD 流水线系统进行对接,同时 Rancher 本身也提供了简单易用的流水线来帮忙我们自动部署和升级工作负载。
基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
二、Rancher 安装
我们这里安装是在 Kubernetes 的基础上,可以参考:
1.通过 Docker 来进行安装
[root@k8s-master01 ~]# docker run --privileged -d --name rancher --restart=unless-stopped -p 80:80 -p 443:443 -v /opt/rancher:/var/lib/rancher rancher/rancher:v2.5.11 [root@k8s-master01 ~]# docker ps | grep rancher
- 「--privileged:」 可以使我们启动的容器用 root 的方式启动(在 Rancher 2.5 版本以上需要加)
- 「--restart:」 重启策略,我们配置的是
unless-stopped
,表示当容器退出时,便会重新启动容器(除非容器之前就处于停止)
2.在 Rancher 的界面上绑定 K8s
1)配置 Kubernetes 集群
要是我们上面的 Kubernetes 持续处于 Pending 时,我们可以
[root@k8s-master01 ~]# kubectl get pod -n cattle-system # 查看 Rancher 状态
3.在 Rancher 上部署应用
1)创建应用
2)验证
3)查看 Pod 日志