服务管理介绍
简介
服务(Service)管理为用户提供了高性能的容器集群管理方案。支持弹性伸缩、垂直扩容、灰度升级、服务发现、服务编排、错误恢复、性能监测等功能,让您能够快速部署服务,轻松运维服务。
优势
- 提升应用交付效率
- 保持环境一致,使服务容易移植,加快版本迭代速度
- 支持服务发现,通过域名端口访问服务,避免服务重启、迁移IP变更带来影响
- 支持微服务化,降低代码维护、重构的复杂度,适应快速变化的业务需求
- 快速响应业务变化
- 灵活水平扩展,应对业务量的骤然变化
- 秒级部署速度,保障产品用户体验流畅
- 服务运转安全稳定
- 分布式架构,服务错误自动恢复、快速迁移,保证服务高可用
- 分布式存储,有状态服务数据持久化保存,保证用户数据安全
- 服务运维省时省心
- 丰富的数据监测,统一的日志管理,助力分析服务健康
- 自定义监控报警,及时获取状态预警
功能特点
- 空间逻辑隔离
- 在不同的空间内,部署同样的应用,应用部署过程相同,运行环境通过空间逻辑隔离。常见的场景有测试、联调、开发环境的部署。
- 服务注册发现
- 服务创建后,蜂巢可以主动发现运行的服务,其他的服务可以通过服务的名称和端口来使用服务。
- 服务有状态
- 通过挂载数据盘,绑定公网 IP,实现有状态服务。
- 灰度升级
- 实现应用新老版本之间的平滑过渡
- 负载均衡
- 服务提供负载均衡能力,请求随机分配给副本处理。外部进入的流量可以通过 Ingress 负载均衡进行分流。
- 错误恢复
- 在副本运行出现错误时,可以自动重启或者快速迁移,以修复错误状态。
词汇表
- 空间(Name Space)
- 对应 Kubernetes 的 Namespace(https://kubernetes.io/docs/user-guide/namespaces/),使用空间可以将服务资源进行逻辑隔离,划分成不同的虚拟的集群。例如,用户如果需要创建测试、联调、线上环境,可以通过空间来对这些环境进行隔离。
- 服务(Services)
- 对应 Kubernetes 的 Service(https://kubernetes.io/docs/user-guide/services/),用户通过<服务名称>:<服务端口>可以访问部署的服务 ,使用服务可以实现对应用的弹性伸缩、负载均衡、灰度升级、错误恢复。服务分为有状态和无状态两种类型。有状态服务可以挂载数据盘,实现数据持久化,有状态服务仅可以拥有一个副本。无状态服务则可以有多个副本,保证服务的可用性。
- 副本(Pods)
- 对应 Kubernetes 的 Pods(https://kubernetes.io/docs/user-guide/pods/),是最小的部署单元和计费单位。一个副本根据应用场景,可以由一个或多个容器组成。当一个副本中有多个容器时,这些容器将会共享副本的计算资源、存储空间、IP和端口,对于计算资源还可以限制各个容器使用的比例。 对于无状态服务,副本随时可以删除和创建,当一个副本发生异常时,系统会删除该副本,然后再创建一个新的副本,从而维持了服务的副本数不变,实现错误弹性恢复,不影响服务的可用性。对于多个容器紧耦合的应用场景,比如主业务+数据采集的场景,可以使用单副本多容器的部署方案。
- 镜像(Images)
- 对应 Kubernetes 的 Images(https://kubernetes.io/docs/user-guide/images/),是对所要部署服务的操作系统、运行环境、应用的打包,用户使用镜像来部署服务中的副本。镜像保存在镜像仓库中,当执行部署的时候,蜂巢会自动从镜像仓库中拉取所需的镜像,若部署环境本地已有该镜像存在,则可以直接用于部署,可以大大缩短了部署过程的时间。
- 容器(Container)
- 一个副本中可以运行一个或多个 Container 实例,这些实例通过 Docker 技术创建并进行管理。关于 Docker 可以访问 Docker 官网([www.docker.com www.docker.com])了解。
- 数据盘(Volumes)
- 容器中通过挂载数据盘来实现数据的持久化和共享。目前我们提供了基于 Ceph 技术的 SSD 云硬盘服务,多数据副本保证数据高可靠性,支持热迁移,适用于中度 I/O 负载的应用场景。我们即将支持本地 SSD 数据盘服务(符合 RAID10 标准),适用与高 I/O 负载应用场景。
最后更新:2017-01-03 10:48:58