使DockerregistryHA

请注意:这是一个非常类似的问题,但我声称这不是一个愚蠢的! 另一个问题显然是基于(较老的)基于Python的Dockerregistry,而不是GoLang中最新的一个,似乎是相当不同的!


我花了几个小时阅读文档来设置私人Dockerregistry ,并让它在具有以下特征的远程VM上运行:

  • 使用基本身份validation进行身份validation,我有一个testing用户使用它
  • 为TLS使用根CA证书
  • 使用本地文件系统进行存储(我可能会升级到Ceph / Rados)

到现在为止还挺好。 但是现在我想要做到这一点,并且对于这些文档似乎没有提到它,我感到震惊。 在旧的Python文档中,有一整段专门用于HA,但是我不愿意遵循它们,因为更新的(基于GoLang的)registry似乎没有提到HA。

所以我的担忧:

  • 有没有办法让更新的(GoLang)registryHA? 如果有,文档在哪里?
  • 什么是一般的方法? 负载均衡器后面的群集registry实例? 做一个小学,并有1 + Secondaries? 主从?

这实际上在“ 部署registry服务器 – 负载平衡注意事项 ”

人们可能希望使用负载平衡器分配负载,终止TLS或提供高可用性。 虽然完整的负载平衡设置不在本文档的范围内,但有一些注意事项可以使过程更顺畅。

最重要的方面是,一个负载均衡的注册pipe理机构必须共享相同的资源。 对于当前版本的registry,这意味着以下内容必须相同:

  • 存储驱动程序
  • HTTP秘密
  • Rediscaching(如果已configuration)

这意味着实际的高可用性特性被认为是docker分发项目的超出范围,但是它仍然可以通过添加负载平衡器来实现。