e-works数字化企业网  »  文章频道  »  基础信息化  »  企业上云

在Kubernetes集群上部署高可用Harbor镜像仓库

2017/12/10    来源:微博    作者:佚名      
关键字:Kubernetes  Harbor  
关于基于Harbor的高可用私有镜像仓库,在我的博客里曾不止一次提到,在源创会2017沈阳站上,我还专门以此题目和大家做了分享。事后,很多人通过微博私信、个人公众号或博客评论问我是否可以在Kubernetes集群上安装高可用的Harbor仓库,今天我就用这篇文章来回答大家这个问题。

    5、对各组件目录下的xxx.rc.yaml和xxx.svc.yaml配置模板进行配置调整
 
在Kubernetes集群上部署高可用Harbor镜像仓库
在Kubernetes集群上部署高可用Harbor镜像仓库
 
    这里有一个严重的bug,即registry.rc.yaml中configmap的默认mount路径:/etc/docker/registry与registry的docker image中的registry配置文件的路径/etc/registry不一致,这将导致我们精心配置的registry的configmap根本没有发挥作用,数据依然在memory中,而不是在我们配置的Cephfs中。这样一旦registry container退出,仓库的image数据就会丢失。同时也无法实现数据的高可用。因此,我们将mountPath都改为与registry image的一致,即:/etc/registry目录。
 
在Kubernetes集群上部署高可用Harbor镜像仓库
    6、执行k8s-prepare
 
    执行k8s-prepare,生成各个组件的configmap文件:
 
 
在Kubernetes集群上部署高可用Harbor镜像仓库
 
    7、启动Harbor组件
 
在Kubernetes集群上部署高可用Harbor镜像仓库
在Kubernetes集群上部署高可用Harbor镜像仓库
在Kubernetes集群上部署高可用Harbor镜像仓库
在Kubernetes集群上部署高可用Harbor镜像仓库
在Kubernetes集群上部署高可用Harbor镜像仓库
在Kubernetes集群上部署高可用Harbor镜像仓库
 
    五、验证与Troubleshooting
 
    1、docker cli访问
 
    由于harbor默认使用了http访问,因此在docker login前先要将我们的仓库地址加到/etc/docker/daemon.json的insecure-registries中:
 
在Kubernetes集群上部署高可用Harbor镜像仓库
 
    2、docker push & pull
 
    我们测试上传一个busybox image:
 
在Kubernetes集群上部署高可用Harbor镜像仓库
 
    3、访问Harbor UI
 
    在浏览器中打开http://hub.tonybai.com:31777,用admin/Harbor12345登录,如果看到下面页面,说明安装部署成功了:
 
在Kubernetes集群上部署高可用Harbor镜像仓库
 
    六、参考资料
 
  • Integration with Kubernetes
 
  • 基于Harbor和CephFS搭建高可用Private Registry
责任编辑:李欢
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
兴趣阅读
相关资料
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐