容器云运维实战 Docker 与 K8S集群 第二章内容
高可用集群
定义
- 服务器集群是实现高可用的最流行方案之一
- 负载均衡是核心的控制作用
标准
通过集群的`可靠性`(reliability)和`可维护性`(maintainability)来衡量标准
通常使用`平均无故障时间`(MTTF) 衡量可靠性
通常使用`平均维修时间`(MTTR) 衡量可维护性
HA衡量标准如下:
- 99% 为一年宕机时间不超过4天
- 99.9% 为一年宕机时间不超过10小时
- 99.99% 为一年宕机时间不超过1小时
- 99.999% 为一年宕机时间不超过6分钟
高可用四层架构
一般有四层
- 资源层(应用层)
- 运行整个集群的业务应用以及各种对外服务
- 不提供高可用 所有高可用以及负载均衡都依赖底层的支持
- 资源调度层(资源分配层) 主要实现资源的管理
- 集群资源管理器(CRM)来实现资源的调度分配
- 分布式集群中通过CRM维护一个资源信息库 作为监控的依据
- 本地资源管理器(LRM) 用于获取节点本地某个资源的状态 实现本地资源的管理
- 在主节点上 一般有两个引擎
- 策略引擎 定义资源转移的策略
- 转换引擎 执行策略引擎的转移
- 成员关系层
- 集群高可用对于数据一致性要求高
- 他负责监控底层架构的心跳信息
- 当底层心跳信息发生变化的时候便会重新生成集群状态信息 上层依赖这些信息进行资源调度分配
- 架构层(信息层)
- 这一层负责传递心跳信息集群事务信息等
常见高可用方案
共享存储
两种模式
- 通过网络将数据在多台设备上存储
- 通过直接附加存储 (DAS)
常用手段
- 复制备份:RAID
- 网络附加存储(NAS): NFS
GlusterFS
- 开源的分布式文件系统
- 使用单一全局命名空间
- 支持横向扩展 可扩展至PB级别
- 支持分布式存储 将不同的文件放在不同的存储节点上
- 支持镜像存储 同一个文件放到两个以上的存储节点上
- 支持分片存储 将一个文件划分为多个固定长度的数据 分散存放在所有的存储节点上
CephFS
- 主要提供对象存储 块存储 文件系统
- 高性能、易扩展、无单点故障
故障转移
- 热插拔
- 虚拟ip
负载均衡
- 通过负载均衡来均衡掉压力
- 使用负载工具以及DNS来实现跨地域高可用
分布集群
- 最广泛的使用方案
- 各个节点之间通过网络实现进程间通讯
- 应用程序通过网络共享内存实现信息传送 实现分布式计算
- 有交互 非交互两种模式
- 交互模式的集群内部节点不对等 如主从的交换模式
- 非交互模式各个节点对等独立
- 集群内部最常见的机制就是心跳 复杂机制包括组播 广播
- 高可用集群有三个特点
- 高可用性
- 分布式计算
- 负载均衡