搜索

2.5. 使用 undercloud 作为本地 registry

download PDF

您可以在 undercloud 上配置本地 registry 以存储 overcloud 容器镜像。

您可以使用 director 从 registry.redhat.io 中拉取每个镜像,并将每个镜像推送到 undercloud 上运行的 docker-distribution registry。在使用 director 创建 overcloud 时,节点会从 undercloud docker-distribution registry 中拉取相关的镜像。

这会为内部网络中的容器镜像保留网络流量,这不会限制您的外部网络连接,并可加快部署过程。

流程

  1. 查找本地 undercloud registry 的地址。地址使用以下模式:

    <REGISTRY_IP_ADDRESS>:8787

    使用之前通过 undercloud.conf 文件中的 local_ip 参数设置的 undercloud 的 IP 地址。对于下面的命令,地址假定为 192.168.24.1:8787

  2. 登录到 registry.redhat.io

    (undercloud) $ docker login registry.redhat.io --username $RH_USER --password $RH_PASSWD
  3. 创建模板以将镜像上传到本地 registry,环境文件来引用这些镜像:

    (undercloud) $ openstack overcloud container image prepare \
      --namespace=registry.redhat.io/rhosp13 \
      --push-destination=192.168.24.1:8787 \
      --prefix=openstack- \
      --tag-from-label {version}-{release} \
      --output-env-file=/home/stack/templates/overcloud_images.yaml \
      --output-images-file /home/stack/local_registry_images.yaml
    • 使用 -e 选项包括可选服务的任何环境文件。
    • 使用 -r 选项包含自定义角色文件。
    • 如果使用 Ceph Storage,请包含额外的参数来定义 Ceph Storage 容器镜像位置:-- set ceph_namespace ,--set ceph _image,--set ceph_tag
  4. 验证是否已创建以下两个文件:

    • local_registry_images.yaml,其中包含来自远程源的容器镜像信息。使用此文件将镜像从 Red Hat Container Registry (registry.redhat.io)拉取镜像到 undercloud。
    • overcloud_images.yaml,其中包含 undercloud 上的最终镜像位置。您可以在部署中包含此文件。
  5. 从远程 registry 中拉取容器镜像并将其推送到 undercloud registry:

    (undercloud) $ openstack overcloud container image upload \
      --config-file  /home/stack/local_registry_images.yaml \
      --verbose

    拉取所需的镜像可能需要一些时间,具体取决于您的网络和 undercloud 磁盘的速度。

    注意

    容器镜像消耗大约 10 GB 磁盘空间。

  6. 镜像现在存储在 undercloud 的 docker-distribution 注册表中。要查看 undercloud 的 docker-distribution registry 上的镜像列表,请运行以下命令:

    (undercloud) $  curl http://192.168.24.1:8787/v2/_catalog | jq .repositories[]
    注意

    _catalog 资源本身仅显示 100 个镜像。要显示更多镜像,请使用带有 _catalog 资源的 ?n=<interger > 查询字符串来显示更多镜像:

    (undercloud) $  curl http://192.168.24.1:8787/v2/_catalog?n=150 | jq .repositories[]

    要查看特定镜像的标签列表,请使用 skopeo 命令:

    (undercloud) $ curl -s http://192.168.24.1:8787/v2/rhosp13/openstack-keystone/tags/list | jq .tags

    要验证标记的镜像,请使用 skopeo 命令:

    (undercloud) $ skopeo inspect --tls-verify=false docker://192.168.24.1:8787/rhosp13/openstack-keystone:13.0-44

registry 配置已就绪。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.