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

举报
张俭 发表于 2023/12/11 10:42:55 2023/12/11
【摘要】 本篇文章探讨镜像仓库registry的高可用 镜像仓库高可用无单点故障涉及那些场景 镜像仓库对外提供访问无单点故障镜像仓库对外提供的访问点保持高可用 镜像仓库的数据存储高可用存储在镜像仓库中的数据都得是高可用的 镜像仓库无单点故障技术关键点 镜像仓库对外提供访问无单点故障和上一篇文章一样,如果IaaS能提供ELB,我们最好是使用ELB,或者使用浮动IP的方式替换 镜像仓库的数据存储高可用配置...

本篇文章探讨镜像仓库registry的高可用

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

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

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

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

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

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

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

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

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

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

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

方案概述

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

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

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

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

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

kubernetes-registry-ha-s3.png

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

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

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

kubernetes-registry-ha-minio.png

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

MINIO关键配置

  • 节点数目6个
  • EC2
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。