您现在的位置是:首页 >技术杂谈 >Kubernetes 多集群管理工具Rancher 使用介绍网站首页技术杂谈

Kubernetes 多集群管理工具Rancher 使用介绍

开着拖拉机回家 2023-05-13 04:00:02
简介Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。Rancher 1.x 最初是为了支持多种容器编排引擎而构建的,其中包括 Rancher 自己的容器编排引擎 Cattle。但随着 Kubernetes 在市场上的兴起,Rancher 2.x 已经完全转向了 Kubernetes。

目录

一、Rancher 简介

2.1 Run Kubernetes Everywhere

2.2 满足 IT 需求规范

2.3 赋能 DevOps 开发团队

2.4 Rancher API Server 的功能

2.4.1授权和角色权限控制

2.4.2使用 Kubernetes 的功能

2.4.3 配置云端基础信息

2.4.4 查看集群信息

2.5 编辑下游集群

二、Rancher 安装

2.1 通过 Docker 来进行安装

2.2 添加一个集群

2.3 在 Rancher 上部署应用


一、Rancher 简介


Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。

Rancher 1.x 最初是为了支持多种容器编排引擎而构建的,其中包括 Rancher 自己的容器编排引擎 Cattle。但随着 Kubernetes 在市场上的兴起,Rancher 2.x 已经完全转向了 Kubernetes。Rancher 2.x 可以部署和管理在任何地方运行的 Kubernetes 集群。

说明:下文中所有的“Rancher”代指的都是 Rancher 2.x。

Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,自动创建节点并安装 Kubernetes 集群,或者导入任何已经存在的 Kubernetes 集群。

Rancher 通过支持集群的身份验证和基于角色的访问控制(RBAC),使系统管理员能够从一个位置控制全部集群的访问。Rancher 可以对集群及其资源进行详细的监控和并在需要时发送告警,也可以将容器日志发送给外部日志系统,并通过应用商店与 Helm 集成。如果您具有外部 CI/CD 流水线系统,则可以将其与 Rancher 对接,如果没有,Rancher 也提供了简单易用的流水线来帮助您自动部署和升级工作负载。除此之外,Rancher 还有很多开箱即用的功能来帮助您更好的管理集群和业务应用,例如多集群应用,全局 DNS,服务网格,安全扫描,集群模版和基于 OPA 的策略管理等功能。

总而言之,Rancher 是一个全栈式的 Kubernetes 容器管理平台,也是一个可以在任何地方都能成功运行 Kubernetes 的工具。

Rancher 官方文档

Rancher官网地址:https://docs.rancher.cn/

Github地址:https://github.com/rancher/

2.1 Run Kubernetes Everywhere

Kubernetes 已经成为了容器管理的标准。大多数云服务和虚拟服务的提供商现在将 Kubernetes 作为标准的基础设施。用户可以使用 Rancher Kubernetes Engine(简称 RKE),或其他云服务提供商的容器服务,如 GKE、AKS、 EKS 等,创建 Kubernetes 集群。用户也可以将已有集群导入 Rancher,集中管理。

2.2 满足 IT 需求规范

Rancher 支持集中化认证、权限控制、监控和管理所有 Kubernetes 集群。您可以使用 Rancher 完成以下操作:

  • 使用活动目录(Active Directory)的认证信息访问云端 Kubernetes 集群,如 GKE、AKS、EKS 等。
  • 设置用户、用户组、项目组、集群、云服务的权限控制策略和安全策略。
  • 一站式监控您名下所有集群的健康状态。

2.3 赋能 DevOps 开发团队

Rancher 提供了一个简单直接的用户界面给 DevOps 工程师管理他们的应用程序。用户不需要对 Kubernetes 有深入的了解,即可使用 Rancher。

Rancher 应用商店包含了一套内置的 DevOps 开发工具。Rancher 通过了一些云原生的生态系统认证,包括安全工具、监控系统、容器镜像、存储和网络驱动等。

以下的示意图讲述了 Rancher 在 IT 管理团队和 DevOps 开发团队之间扮演的角色。DevOps 团队把他们的应用部署在他们选择的云上面,可以是公有云,也可以是私有云。IT 管理员负责管理用户、集群、多云之间的权限。

2.4 Rancher API Server 的功能

Rancher API Server 是基于嵌入式 Kubernetes API Server 和 ETCD 数据库建立的,它提供了以下功能:

2.4.1授权和角色权限控制

2.4.2使用 Kubernetes 的功能

  • 运行 Kubernetes 集群: Rancher API server 可以在已有节点上运行 Kubernetes 集群 ,或对 Kubernetes 进行版本升级
  • 应用商店管理: Rancher 可以使用Helm Charts 应用商店重复部署应用。
  • 项目管理: 项目,是 Rancher 中的一个概念,Kubernetes 中并没有这个概念。项目由一个集群内的多个命名空间和多个访问控制策略组成,允许用户以组为单位,一次管理多个命名空间,对其进行 Kubernetes 相关操作。Rancher 用户界面提供了 项目管理项目内应用管理 两个功能。
  • 流水线: 流水线 可以帮助开发者快速高效地上线新软件。Rancher 支持给每一个项目单独配置流水线。
  • Istio: Rancher 与 Istio 集成,管理员或集群所有者可以将 Istio 交给开发者,然后开发者使用 Istio 执行安全策略,排查问题,或为快速发布、灰度发布和 A/B 测试进行流量控制。

2.4.3 配置云端基础信息

  • 同步节点信息: Rancher API server 可以同步集群内所有节点的信息。
  • 配置云端基础信息: 当 Rancher 与云服务提供商配置完了之后,可以在云端动态配置新节点持久化存储

2.4.4 查看集群信息

  • 日志: Rancher 可以跟多种主流日志工具集成,您可以设置 Rancher 日志
  • 监控: 使用 Rancher,您可以通过 Prometheus 监控集群节点、Kubernetes 组件、软件部署的状态和进度。您可以设置 集群监控项目监控
  • 告警信息: 您需要随时知道集群和项目的计划和非计划事件,才可以提高公司的运行效率。

2.5 编辑下游集群

对于已有集群而言,启动集群的方法决定了可编辑的选项和设置。例如,只有通过 RKE 启动的集群才有可编辑的集群选项。使用 Rancher 创建集群后,集群管理员可以管理集群会员,开启 Pod 域安全策略,管理节点池,以及进行 其他操作。下表总结了每一种类型的集群和对应的可编辑的选项和设置:


二、Rancher 安装


2.1 通过 Docker 来进行安装

docker run -d --name=rancher 
--restart=unless-stopped 
-p 8080:80 -p 8443:443 
--privileged rancher/rancher:v2.5.9  
  • --privileged:可以使我们启动的容器用 root 的方式启动(在 Rancher 2.5 版本以上需要加)

访问 https://192.168.2.117/

为 admin用户设置密码

保存一下

退出,重新登录,选择中文界面进入

2.2 添加一个集群

现在我们就已经成功进入Rancher啦、就是这么简单。点击首页的添加集群、我们可以看到、Rancher支持快速自定义Kubernetes集群、导入现有Kubernetes集群环境;同时还支持来自云服务商提供的主机、Kubernetes托管服务商等多种类型、现在就可以随意使用Rancher服务啦啦啦啦啦啦。

我们选择导入已存在的kubernetes集群导入

给导入的k8s集群给一个名称

我们选择最后一个方式导入集群

执行如下命令:

curl --insecure -sfL https://192.168.2.117:8443/v3/import/t559kw2tdq2j85fzz5npbwfwxp4h8fp2nw6lkq9plzdfdmnktgss92_c-bn5c4.yaml | kubectl apply -f -

我们看到集群导入成功,并处于Active状态

查看Rancher状态

集群状态

进入某个k8s 集群仪表盘可以看到,我们k8s集群部署和应用部署的基本信息,而且页面简洁美观。

选中Deployment 我们可以部署的资源,对于hello 而言 我们可以 增加副本、删除、编辑YAML等等操作,可以直接进去某个容器的命令行,简直太方便了。

我们也可以选中 Hello 成功删除

重新部署 ,应用负载的pod 依次重启

2.3 在 Rancher 上部署应用

选择部署应用

填写基本的应用信息,如工作负载类型、镜像等等

保存应用部署信息 ,我们可以看到应用负载部署成功

命令行查看部署的pod:

————————————————

参考原文链接:Rancher简介和部署_rancher部署_CN-FuWei的博客-CSDN博客

Rancher 使用介绍(可以通过界面管理 K8s 平台)_愿许浪尽天涯的博客-CSDN博客

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。