2.2. ミラーレジストリーの作成


OpenShift Container Platform のインストールに必要なミラーリングされたコンテンツをホストするためにレジストリーを作成します。

注記

以下の手順では、/opt/registry フォルダーにデータを保存し、podman コンテナーで実行される単純なレジストリーを作成します。Red Hat Quay などの異なるレジストリーソリューションを使用できます。以下の手順で、レジストリーが正常に機能することを確認します。

前提条件

  • レジストリーホストとして使用する Red Hat Enterprise Linux (RHEL) サーバーがネットワーク上にある。
  • レジストリーホストはインターネットにアクセスできる。

手順

  1. 必要なパッケージをインストールします。

    # yum -y install podman httpd-tools

    podman パッケージは、レジストリーを実行する際に使用するコンテナーパッケージを提供します。httpd-tools パッケージは、ユーザーの作成に使用する htpasswd ユーティリティーを提供します。

  2. レジストリーのフォルダーを作成します。

    # mkdir -p /opt/registry/{auth,certs,data}

    これらのフォルダーはレジストリーコンテナー内にマウントされます。

  3. レジストリーの証明書を指定します。既存の信頼される認証局がない場合は、自己署名の証明書を生成することができます。

    $ cd /opt/registry/certs
    # openssl req -newkey rsa:4096 -nodes -sha256 -keyout domain.key -x509 -days 365 -out domain.crt

    プロンプト時に、証明書に必要な値を指定します。

    国名 (2 文字コード)

    場所として 2 文字の ISO 国コードを指定します。ISO 3166 国名コード 標準を参照してください。

    State or Province Name (正式名)

    都道府県名の正式名を入力します。

    Locality Name (例: 市)

    市の名前を入力します。

    Organization Name (例: 会社)

    会社名を入力します。

    Organizational Unit Name (例: セクション)

    部門名を入力します。

    Common Name (例: 本人の名前またはサーバーのホスト名)

    レジストリーホストのホスト名を入力します。ホスト名が DNS にあり、予想される IP アドレスに解決されていることを確認します。

    Email Address

    メールアドレスを入力します。詳細は、OpenSSL ドキュメントの req の説明を参照してください。

  4. bcrpt 形式を使用するレジストリー用のユーザー名およびパスワードを生成します。

    # htpasswd -bBc /opt/registry/auth/htpasswd <user_name> <password> 1
    1
    <user_name> および <password> をユーザー名およびパスワードに置き換えます。
  5. レジストリーをホストする mirror-registry コンテナーを作成します。

    # podman run --name mirror-registry -p <local_registry_host_port>:5000 \ 1
         -v /opt/registry/data:/var/lib/registry:z \
         -v /opt/registry/auth:/auth:z \
         -e "REGISTRY_AUTH=htpasswd" \
         -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
         -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
         -v /opt/registry/certs:/certs:z \
         -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
         -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
         -e REGISTRY_COMPATIBILITY_SCHEMA1_ENABLED=true \
         -d docker.io/library/registry:2
    1
    <local_registry_host_port> については、ミラーレジストリーがコンテンツの送信に使用するポートを指定します。
  6. レジストリーに必要なポートを開きます。

    # firewall-cmd --add-port=<local_registry_host_port>/tcp --zone=internal --permanent 1
    # firewall-cmd --add-port=<local_registry_host_port>/tcp --zone=public   --permanent 2
    # firewall-cmd --reload
    1 2
    <local_registry_host_port> については、ミラーレジストリーがコンテンツの送信に使用するポートを指定します。
  7. 信頼された証明書の一覧に自己署名証明書を追加します。

    # cp /opt/registry/certs/domain.crt /etc/pki/ca-trust/source/anchors/
    # update-ca-trust

    ミラープロセス中にレジストリーにログインするには、証明書を信頼する必要があります。

  8. レジストリーが使用できることを確認します。

    $ curl -u <user_name>:<password> -k https://<local_registry_host_name>:<local_registry_host_port>/v2/_catalog 1
    
    {"repositories":[]}
    1
    <user_name> および <password>については、レジストリーにユーザー名とパスワードを指定します。<local_registry_host_name>については、registry.example.com などのように、証明書に指定したレジストリードメイン名を指定します。<local_registry_host_port> については、ミラーレジストリーがコンテンツの送信に使用するポートを指定します。

    コマンドの出力に空のリポジトリーが表示される場合、レジストリーは利用可能な状態です。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.