第8章 制限された環境での Podman サイトの作成
インターネットアクセスがまったくないか制限されている実稼働環境では、サイトを作成するために必要なイメージをミラーリングする必要がある場合があります。
この手順では、コンテナーイメージを管理するために Podman と tar ファイルを使用する方法を説明します。制限された環境でレジストリーが利用可能な場合は、同じプロセスに従うことができます。レジストリーにイメージが入力された後、環境変数がレジストリー内のイメージを参照するように設定されていることを確認します。
プロキシーを備えた 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 マシン。
これには、1 台のマシンを使用でき、このマシンを制限のある環境に移動しても問題ありません。
手順
インターネットにアクセスできるマシンで
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