容器编排
一、介绍
当docker和k8s容器多的时候,为了解决容器管理的问题,就有了容器编排管理工具。
容器编排:
提供调度和管理集群的技术,提供用于基于容器应用可扩展性的基本机制,这些工具使用容器服务,并编排他们以决定容器之间如何进行交互, 包括网络, 存储, 负载均衡, DNS和安全模块等的编排调度
二、主流的容器编排工具
- Docker Swarm
- Apache Mesos
- Kubernetes:简称”K8S“,最初是由 Google 开发的,后来捐赠给了 CNCF(云原生计算基金会,隶属 Linux 基金会)
经过几年的竞争,K8S 击败 Swarm 和 Mesos,几乎成了当前容器编排的事实标准,但是k8s不止搭建集群过程很复杂,后期还要面对更繁琐的 K8S 控制平面维护工作,版本升级、安全管控、数据备份对于k8s集群的运维复杂度也很高。学习成本也很高。
三、容器编排PaaS云平台
KubeSphere:官网
KubeSphere 是在 Kubernetes 之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云与多集群管理,提供全栈的 IT 自动化运维能力,简化企业的 DevOps 工作流。它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用 (plug-and-play) 的集成。
Rancher:官网
是一个开源的企业级容器管理平台, 通过Rancher企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。
Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台
Kuboard:官网
国人开发的一个基于 Kubernetes 的可视化管理工具,与上面两个不同的是,它只是一个可视化工具,旨在简化 Kubernetes 集群的操作和管理,并且提供安装k8s的工具。
Rancher+KubeSphere总结
都是基于K8s提供功能,是比较优秀的k8s集群管理平台,对于降低k8s集群运维复杂度,降低运维成本,使开发人员能尽快上手部署微服务
四、rancher介绍
Rancher是一个开源的企业级PaaS容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台,Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台
4.1 特性
- 基础设施编排
- 可以使用任何公有云或者私有云的Linux主机资源,Linux主机可以是虚拟机,也可以是物理机
- Rancher仅需要主机有CPU,内存,本地磁盘和网络资源,从Rancher的角度来说,一台云厂商提供的云主机和一台自己的物理机是一样的
- 容器编排与调度
- 包含了当前全部主流的编排调度引擎,例如Docker Swarm, Kubernetes, 和Mesos
- 同一个用户可以创建Swarm或者Kubernetes集群。并且可以使用原生的Swarm或者Kubernetes工具管理应用,除了Swarm,Kubernetes和Mesos之外,Rancher还支持自己的Cattle容器编排调度引擎
- Cattle被广泛用于编排Rancher自己的基础设施服务以及用于Swarm集群,Kubernetes集群和Mesos集群的配置,管理与升级
4.2 版本说明
1.x:最新1.6版本,各个组件相对稳定,使用起来便捷很多,文档:https://rancher.com/docs/rancher/v1.6/zh/
2.x:网络要求比较高,安装组件需要大量的下载包模块,部分组件需要 网络加速 访问海外
4.3 通信模式
Client-Server模式,每个Linux主机是Client端,需要连接到Rancher的Server端。单独部署的rancher是属于server端