美文网首页人生几何?
高可用无单点架构之镜像仓库

高可用无单点架构之镜像仓库

作者: ShootHzj | 来源:发表于2021-08-28 18:30 被阅读0次

    这篇文章是上一篇,高可用无单点k8s的集群的续篇,探讨镜像仓库registry的高可用

    镜像仓库高可用无单点故障涉及那些场景

    镜像仓库对外提供访问无单点故障

    镜像仓库对外提供的访问点保持高可用

    镜像仓库的数据存储高可用

    存储在镜像仓库中的数据都得是高可用的

    镜像仓库无单点故障技术关键点

    镜像仓库对外提供访问无单点故障

    和上一篇文章一样,如果IaaS能提供ELB,我们最好是使用ELB,或者使用浮动IP的方式替换

    镜像仓库的数据存储高可用

    • 配置镜像仓库使用IaaS的S3存储
    • 配置镜像仓库使用本地存储,通过共享文件路径存储来实现高可用,如Glusterfs
    • 配置镜像仓库使用S3存储,自建兼容S3 API的存储Server

    通常会使用共享存储来做到镜像仓库存储的高可用

    方案概述

    那么其实镜像仓库的高可用方案就是对上面方案的组合,下面我们举几个例子

    镜像仓库依赖组件部署方式

    MinIoKeepAlivedregistry都推荐使用容器部署,方便运维管理,但是镜像推荐内置到虚拟机中,不依赖镜像仓库或其他组件,避免循环依赖

    使用IaaS的S3存储 + 负载均衡组件

    这是最简单的方案,得益于云厂商提供的S3存储和负载均衡组件,我们可以进行很简单的配置,并部署一台以上的registry,如下图所示

    image-20210828130455595

    自建兼容S3存储 + KeepAlived浮动Ip

    我们可以自己搭建MinIo集群来作为兼容S3存储,由于MINIO最低部署4个节点,我们需要根据故障域机器来选择部署MINIO的数目,比如,故障域是三台物理机,我们部署4节点就不妥。原因是,4节点,总会有一台物理机上会部署2个minio节点,如果这台物理机挂掉,就会导致单点故障。所以,如果故障域为三台物理机,我们最好部署6节点,可容忍一台物理机宕机。其他的节点,读者也可以自行测算。

    下图是假设三台物理机,minio6副本场景下的部署示意图

    image-20210828154958680

    注,为了图的美观,并未画出所有的连线

    MINIO关键配置

    • 节点数目6个
    • EC2

    相关文章

      网友评论

        本文标题:高可用无单点架构之镜像仓库

        本文链接:https://www.haomeiwen.com/subject/kstiiltx.html