Kubesphere 和 Rancher 如何做抉择?

简介: 目前主流的**Kubernetes**集群管理平台就是**Kubesphere**和**Rancher**,那么我们该如何在他们之间进行抉择呢?本文我们就来一起探究一下这两个平台的优劣。

1 Kubernetes 集群管理平台的职责

Kubernetes(K8s)集群管理平台都是基于Kubernetes提供功能,可以说他们是在K8s的基础上封装了一层更为友好的操作方式。他们都是为了降低k8s集群运维复杂度,降低运维成本,使开发也能尽快上手、部署服务。

2 Kubesphere 和 Rancher 的区别

核心区别:

  • KubeSphere定位是以应用为中心的容器平台,提供简单易用的操作界面,一定程度上降低了学习成本,同时集成了原生istio等功能,更加符合开发的使用习惯。
  • Rancher的核心竞争力在于其强大的多集群管理能力,提供了极其简便的K8s部署及管理能力。同时提供了集成开源监控、日志、Git CI的能力,虽然学习成本较高,但提供了一站式的解决方案,对运维更加友好。

应用部署:

  • Kubeshpere 通过ansible进行部署,类似于kubeadm部署方式,只要在部署前配置好节点角色,需要安装的组件参数即可
  • Rancher支持两种应用部署方式:

    1. 直接通过rancher部署集群,设置好相关参数 优点:简单方便,设置好主机角色,网络参数,服务参数即可,如果是测试环境,可以直接用默认配置,部署时间大大缩短 确定:可维护性没有RKE部署方式好
    2. 使用RKE方式部署 优点:配置好相关的cluster.yml文件,可以直接部署。可维护性好,后期增加节点、修改集群参数比较方便 缺点:没有通过rancher直接部署方式直观,易操作

权限管理:

  • Kubeshpere 权限分配更加细粒度,更加直观
  • Rancher 虽然也支持比较细粒度的权限划分,但是较Kubeshpere相比较差

日志管理:

  • Kubeshpere 日志查询界面比较友好,但相对来说不够可靠。
  • Rancher 有多种输出方式。但是没有日志查询界面,不过可以用kibana查询。

监控与告警:

  • Kubeshpere 只有一种告警方式:邮件
  • Rancher 多种告警方式,支持webhook,企业微信,邮件等

3 Kubesphere和Rancher的部署

3.1 部署Kubesphere

  • 可以不用先装docker
  • 安装kubernetes
  • 下载安装脚本
  • 在kubernetes部署

    # 最小化安装
    kubectl apply -f https://raw.githubusercontent.com/kubesphere/ks-installer/master/kubesphere-minimal.yaml
    # 如果需要安装全部组件,相对来说比较复杂,本文不做过多介绍,参考官方文档

3.2 部署Rancher

需要提前安装好docker,Rancher内置K8s,无需额外安装K8s,就像安装Minikube一样。

安装步骤:

  • 安装docker
  • 通过docker 安装Rancher 镜像,具体版本根据自己需求选择
  • 通过docker 运行Rancher 容器

4 评价

  • Rancher侧重于对原生k8s集群的维护,但k8s周边生态没有Kubesphere整合的全面。
  • Rancher相对来说较Kubesphere更为成熟稳定
  • Kubesphere 相对于刚上手的人来说,更为友好
  • Kubesphere 对CICD的东西都做了一些整合,Rancher需要单独部署
  • 运维人员更青睐于Rancher,开发人员更喜欢Kubesphere
  • Kubesphere将大量云原生相关组件整合进来,相对来说更符合云原生发展的理念
  • Rancher支持多集群管理(两地三中心),Kubesphere面向单集群
  • Rancher能够整合多种基础设施(公有云/私有云),Kubesphere结合自家青云体验更加

5 总结

总的来说Rancher注重于对K8s的管理,Kubesphere对应用的管理。其实对于好多企业来讲Kubesphere里边的好多东西是用不到的,反而更为臃肿,而需要用的它确不支持,比如多集群管理,这可以说是Kubesphere最大的痛点,Kubesphere倾向于打造云原生的生态圈,想要玩好云原生的,要多多关注Kubesphere。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
Kubernetes Ubuntu 应用服务中间件
在Ubuntu22.04 LTS上搭建Kubernetes集群
在Ubuntu22.04.4上安装Kubernetes v1.28.7,步骤超详细
7388 3
在Ubuntu22.04 LTS上搭建Kubernetes集群
|
Kubernetes 安全 Docker
如何在 K8S 集群范围使用 imagePullSecret?
如何在 K8S 集群范围使用 imagePullSecret?
|
消息中间件 安全 Kafka
2024年了,如何更好的搭建Kafka集群?
我们基于Kraft模式和Docker Compose同时采用最新版Kafka v3.6.1来搭建集群。
4600 2
2024年了,如何更好的搭建Kafka集群?
|
运维 监控 Cloud Native
|
人工智能 安全 API
不到100行代码,实现一个简易通用智能LLM Agent
本文将分享如何使用不到 100 行的 Python 代码,实现一个具备通用智能潜力的简易 LLM Agent。你将看到整个实现过程——从核心原理、提示(Prompt)调优、工具接口设计到主循环交互,并获得完整复现代码的详细讲解。
2566 101
不到100行代码,实现一个简易通用智能LLM Agent
|
Kubernetes 负载均衡 应用服务中间件
部署Kubernetes(k8s)多主的高可用集群
在CentOS7上安装Kubernetes多主节点的集群,并且安装calico网络插件和metallb。使用keepalived和haproxy进行负载均衡。最后部署应用
6178 0
|
Docker 容器
docker镜像加速问题
docker镜像加速问题
3642 1
docker镜像加速问题
|
SQL 关系型数据库 Go
Golang ORM框架介绍及比较
Golang ORM框架介绍及比较
|
关系型数据库 MySQL 机器人
【MySQL】两个脚本自动化搞定 MySQL 备份恢复--XtraBackup
【MySQL】两个脚本自动化搞定 MySQL 备份恢复--XtraBackup
|
Kubernetes Linux Docker
centos离线安装 k8s (实操可用)
centos离线安装 k8s (实操可用)
1204 4