背景
Kubernetes(K8s)集群管理平台都是基于Kubernetes提供功能,可以说他们是在K8s的基础上封装了一层更为友好的操作方式。他们都是为了降低k8s集群运维复杂度,降低运维成本,使开发者可以尽快上手、部署服务。目前主流的Kubernetes集群管理平台就是Kubesphere和Rancher,它们都是基于K8s提供功能,但形态有很大不同,那么我们该如何在他们之间进行抉择呢?
Rancher
介绍
Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。自Rancher 2.0系列版本问世,以其简单务实的UI风格和成熟稳健的后端架构赢得了市场的普遍青睐。Kubernetes本身架构和功能逐渐稳定,同时拥有丰富经验的Kubernetes技术人员也在不断增加,根据市场出现的这些新变化, Rancher 对此做出了诸多改变。
特点
Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。
图形化方式
基础设施编排
容器编排与调度
应用商店
企业级权限管理
流水线
Istio
查看集群信息
授权和角色权限控制
架构
Rancher Server 由认证代理(Authentication Proxy)、Rancher API Server、集群控制器(Cluster Controller)、etcd 节点和集群 Agent(Cluster Agent) 组成。除了集群 Agent 以外,其他组件都部署在 Rancher Server 中。考虑到性能表现和安全因素,我们建议您使用两个 Kubernetes 集群,分开部署 Rancher Server 和工作负载。部署 Rancher Server 后,可以创建或导入集群,然后在这些集群上运行您的工作负载。
该图描绘了管理两个Kubernetes集群的Rancher server安装:一个由RKE创建,另一个由GKE创建。
Rancher server组件介绍
组件
功能说明
Rancher API Server(API 服务器)
ancher API server建立在嵌入式Kubernetes API服务器和etcd数据库之上,功能如下:
1. Rancher API服务器Rancher API server管理与外部身份验证提供程序(如Active Directory或GitHub)对应的用户身份
2.认证授权Rancher API server管理访问控制和安全策略
3.项目项目是集群中的一组多个命名空间和访问控制策略的集合
4.节点Rancher API server跟踪所有集群中所有节点的标识。
Cluster Controller(集群控制器)
集群控制器实现Rancher安装所需的全局逻辑。它执行以下操作:
1. 为集群和项目配置访问控制策略
2. 通过调用以下方式配置集群:
。所需的Docker machine驱动程序
。像RKE和GKE这样的Kubernetes引擎
Cluster Agent(集群代理)
单独的集群代理实例实现相应集群所需的逻辑。它执行以下活动:
1. 工作负载管理,例如每个集群中的pod创建和部署
2. 绑定并应用每个集群全局策略中定义的角色
3. 集群与Rancher Server之间的通信:事件docker安装kafka,统计信息,节点信息和运行状况
Auth Proxy(代理认证)
该认证代理转发所有Kubernetes API调用。它集成了身份验证服务,如本地身份验证,Active Directory和GitHub。在每个Kubernetes API调用中,身份验证代理会对调用方进行身份验证,并在将调用转发给Kubernetes主服务器之前设置正确的Kubernetes模拟标头。Rancher使用服务账户与Kubernetes集群通信。
KubeSphere
介绍
KubeSphere是中国云计算服务商青云QingCloud(以下简称“青云”)旗下推出的多租户、容器平台,是谷歌开源容器集群管理平台K8S的发行版,提供简单易用的操作界面以及向导式操作方式docker安装kafka,在降低用户使用容器调度平台学习成本的同时,极大减轻开发、测试、运维的日常工作的复杂度,旨在解决 Kubernetes 本身存在的存储、网络、安全和易用性等痛点。除此之外,平台已经整合并优化了多个适用于容器场景的功能模块,以完整的解决方案帮助企业轻松应对敏捷开发与自动化运维、微服务治理、多租户管理、工作负载和集群管理、服务与网络管理、应用编排与管理、镜像仓库管理和存储管理等业务场景。
特点
KubeSphere 为企业用户提供高性能可伸缩的容器应用管理服务,旨在帮助企业完成新一代互联网技术驱动下的数字化转型,加速业务的快速迭代与交付,以满足企业日新月异的业务需求。
极简体验,向导式 UI
业务高可靠与高可用
容器化 DevOps 持续交付
开箱即用的微服务治理
灵活的持久化存储方案
灵活的网络方案支持
多维度监控日志告警
架构
KubeSphere 采用了前后端分离的架构,实现了面向云原生的设计,后端的各个功能组件可通过 REST API 对接外部系统。KubeSphere 无底层的基础设施依赖,可以运行在任何 Kubernetes、私有云、公有云、VM 或物理环境(BM)之上。
除了下面列表的组件,KubeSphere 还支持 Harbor 与 GitLab 作为可选安装项,可以根据项目需要进行安装
后端组件
功能说明
ks-account
提供用户、权限管理相关的 API
ks-apiserver
整个集群管理的 API 接口和集群内部各个模块之间通信的枢纽,以及集群安全控制
ks-apigateway
负责处理服务请求和处理 API 调用过程中的所有任务
ks-console
提供 KubeSphere 的控制台服务
ks-controller-manager
实现业务逻辑的,例如创建企业空间时,为其创建对应的权限;或创建服务策略时,生成对应的 Istio 配置等
Metrics-server
Kubernetes 的监控组件,从每个节点的 Kubelet 采集指标信息
Prometheus
提供集群、节点、工作负载、API 对象等相关监控数据与服务
Elasticsearch
提供集群的日志索引、查询、数据管理等服务,在安装时也可对接您已有的 ES 减少资源消耗
Fluent Bit
提供日志接收与转发,可将采集到的⽇志信息发送到 ElasticSearch、Kafka
Jenkins
提供 CI/CD 流水线服务
SonarQube
可选安装项,提供代码静态检查与质量分析
Source-to-Image
将源代码自动将编译并打包成 Docker 镜像,方便快速构建镜像
Istio
提供微服务治理与流量管控,如灰度发布、金丝雀发布、熔断、流量镜像等
Jaeger
收集 Sidecar 数据,提供分布式 Tracing 服务
OpenPitrix
提供应用模板、应用部署与管理的服务
Alert
提供集群、Workload、Pod、容器级别的自定义告警服务
Notification
通用的通知服务,目前支持邮件通知
redis
将 ks-console 与 ks-account 的数据存储在内存中的存储系统
MySQL
集群后端组件的数据库,监控、告警、DevOps、OpenPitrix 共用 MySQL 服务
PostgreSQL
SonarQube 和 Harbor 的后端数据库
OpenLDAP
负责集中存储和管理用户账号信息与对接外部的 LDAP
存储
内置 CSI 插件对接云平台存储服务,可选安装开源的 NFS/Ceph/Gluster 的客户端
网络
可选安装 Calico/Flannel 等开源的网络插件,支持对接云平台 SDN
总结
Rancher的核心竞争力在于其强大的多集群管理能力,提供了极其简便的K8s部署及管理能力。同时提供了集成开源监控、日志、Git CI的能力,虽然学习成本较高,但提供了一站式的解决方案,对运维更加友好。KubeSphere定位是以应用为中心的容器平台,提供简单易用的操作界面,一定程度上降低了学习成本,同时集成了原生istio等功能,更加符合开发的使用习惯。总的来说Rancher注重于对K8s的管理,Kubesphere对应用的管理。其实对于好多企业来讲Kubesphere里边的好多东西是用不到的,反而更为臃肿,而需要用的它却不支持,比如多集群管理,这可以说是Kubesphere最大的痛点,Kubesphere倾向于打造云原生的生态圈,想要玩好云原生的,要多多关注Kubesphere。
限时特惠:本站每日持续更新海量展厅资源,一年会员只需29.9元,全站资源免费下载
站长微信:zhanting688