第 8 章 在受限环境中创建 Podman 站点
在没有或有限的互联网访问的生产环境中,您可能需要镜像所需的镜像来创建站点。
此流程概述了如何使用 Podman 和 tar 文件来管理容器镜像。如果受限环境中有 registry,可以跟随相同的过程。确保设置环境变量在填充后引用 registry 中的镜像。
如果要使用带有代理的 Linux 机器来拉取镜像,您可以将 Podman 配置为使用代理:
$ systemctl --user edit podman
在服务定义中添加以下内容:
[Service] Environment="HTTP_PROXY=<proxy-domain>:<proxy-port>" Environment="HTTPS_PROXY=<proxy-domain>:<proxy-port>"
确保 podman 使用新配置:
$ systemctl --user daemon-reload $ systemctl --user restart podman
先决条件
- 具有互联网访问权限的 Linux 机器,以下载镜像。
- 要在您要创建站点的受限环境中的 Linux 机器。
这可以是一台机器,机器被移到受限环境中。
流程
在可访问互联网的机器上登录到
registry.redhat.io
:$ podman login -u USERNAME -p PASSWORD registry.redhat.io
通过创建站点下载 Podman 站点所需的镜像:
$ skupper init
如果需要控制台,请使用以下命令来确保下载额外的镜像
$ skupper init --enable-console --enable-flow-collector
创建站点后,以下镜像将使用
podman image ls -a
列出:- registry.redhat.io/service-interconnect/skupper-router-rhel9
- registry.redhat.io/service-interconnect/skupper-controller-podman-rhel9
- registry.redhat.io/service-interconnect/skupper-flow-collector-rhel9 (仅限控制台)
- registry.redhat.io/openshift4/ose-prometheus (仅限控制台)
标签由
skupper
CLI 的版本决定。为每个镜像创建 tar 文件,例如:
$ podman save -o skupper-controller.tar registry.redhat.io/service-interconnect/skupper-controller-podman-rhel9:<tag>
其中
<
tag> 是从 使用podman image ls -a
命令显示的标签。- 将 tar 文件复制到受限环境中的计算机。
在受限环境中的机器上,从 tar 文件中加载镜像,例如:
podman load -i skupper-controller.tar
更改镜像标签以移除对
registry.redhat.io
的引用:podman tag registry.redhat.io/service-interconnect/skupper-router-rhel9:<tag> service-interconnect/skupper-router-rhel9:<tag>
此步骤是必需的,以避免尝试从
registry.redhat.io
拉取镜像的机器。通过设置以下环境变量将
skupper
CLI 配置为使用镜像的镜像:$ export SKUPPER_CONTROLLER_PODMAN_IMAGE=service-interconnect/skupper-controller-podman-rhel9:<tag> $ export QDROUTERD_IMAGE=service-interconnect/skupper-router-rhel9:<tag>
如果需要控制台,您还需要以下环境变量:
$ export SKUPPER_FLOW_COLLECTOR_IMAGE=service-interconnect/skupper-flow-collector-rhel9:<tag> $ export PROMETHEUS_SERVER_IMAGE=openshift4/ose-prometheus:<tag>
创建一个站点,例如:
$ skupper init