Kubesphere 和 Rancher 如何做抉择?

11,179 阅读4分钟

「这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战

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

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。