openshift/origin学习记录(3)——添加Registry

学习资料来源于官方英文文档与《开源容器云OpenShift》一书,因为刚开始学习,不确定博客的正确性,以下内容仅供参考。

本部分是在openshift/origin学习记录(1)——基于二进制文件的安装(单机版)的基础上进行。

该部分是部署集群内部的Docker镜像仓库。从功能上来说,它与其他诸如DockerHub没有本质上的区别,只是这个内部镜像仓库会存储由Source to Image(S2I)创建的镜像。S2I的工作是辅助将应用的源代码转换成可以部署的Docker镜像。


一个典型的S2I流程包括如下:

  1. 用户输入源代码仓库的地址。
  2. 用户选择S2I构建的基础镜像(Builder镜像)。Openshift提供了多种编程语言的Builder镜像,用户也可以定制自己的Builder镜像,并发布到服务目录中。
  3. 系统或用户触发S2I构建。Openshift将实例化S2I构建执行器。
  4. S2I构建执行器将从用户指定的代码仓库下载源代码。
  5. S2I构建执行器实例化Builder镜像,并将代码注入Builder镜像中。
  6. Builder镜像将根据预定义的逻辑执行源代码的编译、构建并完成部署。
  7. S2I构建执行器将完成操作的Builder镜像并生成新的Docker镜像。
  8. S2I构建执行器将新的镜像推送到Openshift内部的镜像仓库中。
  9. S2I构建执行器更新该次构建相关的Image Stream信息。

S2I还可以接受Dockerfile以及二进制文件作为构建的输入。用户甚至可以完全自定义构建逻辑。


  • 以管理员登录,并切换到default工程。
# oc login -u system:admin
# oc project default

openshift/origin学习记录(3)——添加Registry_第1张图片

  • 部署Docker Registry。
# oadm registry --config=/opt/openshift/openshift.local.config/master/admin.kubeconfig --service-account=registry

openshift/origin学习记录(3)——添加Registry_第2张图片

等待下载镜像创建容器。
执行oc get pod -n default查看registry的创建状态。
这里写图片描述

这里部署的Registry没有启用Https,所以需要修改主机上Docker的配置,让Docker能以非Https的方式连接到Registry。

  • 修改/etc/sysconfig/docker

OPTIONS变量追加--insecure-registry=https://172.30.0.0/16 --insecure-registry=172.30.0.0/16

172.30.0.0/16是在master-config.yaml里定义的服务网络的默认值,如果需要修改,则master-config.yaml和/etc/sysconfig/docker需要一致修改。
  • 重启Docker服务。

至此,Registry搭建完成。

你可能感兴趣的:(openshift,从零学习云计算)