2.5. Azure 上でプライベートストレージエンドポイントを設定する


Image Registry Operator を利用すると、Azure 上でプライベートエンドポイントを使用できます。これにより、OpenShift Container Platform がプライベート Azure クラスターにデプロイされている場合に、プライベートストレージアカウントのシームレスな設定が可能になります。これにより、パブリック向けのストレージエンドポイントを公開せずにイメージレジストリーをデプロイできます。

重要

Microsoft Azure Red Hat OpenShift (ARO) でプライベートストレージエンドポイントを設定しないでください。エンドポイントによって、Microsoft Azure Red Hat OpenShift クラスターが回復不能な状態になる可能性があります。

次のどちらかの方法で、Azure 上のプライベートストレージエンドポイントを使用するように Image Registry Operator を設定できます。

  • Image Registry Operator を設定して VNet 名とサブネット名を検出する
  • ユーザーが指定した Azure 仮想ネットワーク (VNet) 名とサブネット名を使用する

2.5.1. Azure 上でプライベートストレージエンドポイントを設定する場合の制限事項

Azure 上でプライベートストレージエンドポイントを設定する場合は、次の制限が適用されます。

  • プライベートストレージエンドポイントを使用するように Image Registry Operator を設定すると、ストレージアカウントへのパブリックネットワークアクセスが無効になります。したがって、OpenShift Container Platform の外部のレジストリーからイメージをプルするには、レジストリーの Operator 設定で disableRedirect: true を設定する必要があります。リダイレクトが有効になっていると、ストレージアカウントからイメージを直接プルするように、レジストリーによってクライアントがリダイレクトされますが、これは機能しません。パブリックネットワークアクセスが無効になっているためです。詳細は、「Azure でプライベートストレージエンドポイントを使用する場合にリダイレクトを無効にする」を参照してください。
  • この操作は、Image Registry Operator によって元に戻すことはできません。

2.5.2. Image Registry Operator による VNet 名とサブネット名の検出を有効にして Azure 上でプライベートストレージエンドポイントを設定する

次の手順では、VNet 名とサブネット名を検出するように Image Registry Operator を設定して、Azure 上でプライベートストレージエンドポイントを設定する方法を示します。

前提条件

  • Azure 上で動作するようにイメージレジストリーを設定している。
  • ネットワークが、Installer Provisioned Infrastructure インストール方法を使用してセットアップされている。

    カスタムネットワーク設定を使用するユーザーの場合は、「ユーザー指定の VNet 名とサブネット名を使用して Azure 上でプライベートストレージエンドポイントを設定する」を参照してください。

手順

  1. Image Registry Operator の config オブジェクトを編集し、networkAccess.typeInternal に設定します。

    $ oc edit configs.imageregistry/cluster
    # ...
    spec:
      # ...
       storage:
          azure:
            # ...
            networkAccess:
              type: Internal
    # ...
  2. オプション: 次のコマンドを入力して、Operator がプロビジョニングを完了したことを確認します。これには数分かかる場合があります。

    $ oc get configs.imageregistry/cluster -o=jsonpath="{.spec.storage.azure.privateEndpointName}" -w
  3. オプション: レジストリーがルートによって公開されており、ストレージアカウントをプライベートに設定する場合、クラスターの外部へのプルを引き続き機能させるには、リダイレクトを無効にする必要があります。次のコマンドを入力して、Image Operator 設定のリダイレクトを無効にします。

    $ oc patch configs.imageregistry cluster --type=merge -p '{"spec":{"disableRedirect": true}}'
    注記

    リダイレクトが有効になっていると、クラスターの外部からのイメージのプルが機能しなくなります。

検証

  1. 次のコマンドを実行して、レジストリーサービス名を取得します。

    $ oc registry info --internal=true

    出力例

    image-registry.openshift-image-registry.svc:5000

  2. 次のコマンドを実行してデバッグモードに入ります。

    $ oc debug node/<node_name>
  3. 推奨される chroot コマンドを実行します。以下に例を示します。

    $ chroot /host
  4. 次のコマンドを入力して、コンテナーレジストリーにログインします。

    $ podman login --tls-verify=false -u unused -p $(oc whoami -t) image-registry.openshift-image-registry.svc:5000

    出力例

    Login Succeeded!

  5. 次のコマンドを入力して、レジストリーからイメージをプルできることを確認します。

    $ podman pull --tls-verify=false image-registry.openshift-image-registry.svc:5000/openshift/tools

    出力例

    Trying to pull image-registry.openshift-image-registry.svc:5000/openshift/tools/openshift/tools...
    Getting image source signatures
    Copying blob 6b245f040973 done
    Copying config 22667f5368 done
    Writing manifest to image destination
    Storing signatures
    22667f53682a2920948d19c7133ab1c9c3f745805c14125859d20cede07f11f9

2.5.3. ユーザー指定の VNet 名とサブネット名を使用して Azure 上でプライベートストレージエンドポイントを設定する

次の手順を使用して、パブリックネットワークアクセスが無効な、Azure 上のプライベートストレージエンドポイントの背後で公開されるストレージアカウントを設定します。

前提条件

  • Azure 上で動作するようにイメージレジストリーを設定している。
  • Azure 環境で使用する VNet 名とサブネット名を把握している。
  • ネットワークが Azure の別のリソースグループに設定されている場合は、そのリソースグループの名前も把握している。

手順

  1. Image Registry Operator の config オブジェクトを編集し、VNet 名とサブネット名を使用してプライベートエンドポイントを設定します。

    $ oc edit configs.imageregistry/cluster
    # ...
    spec:
      # ...
       storage:
          azure:
            # ...
            networkAccess:
              type: Internal
              internal:
                subnetName: <subnet_name>
                vnetName: <vnet_name>
                networkResourceGroupName: <network_resource_group_name>
    # ...
  2. オプション: 次のコマンドを入力して、Operator がプロビジョニングを完了したことを確認します。これには数分かかる場合があります。

    $ oc get configs.imageregistry/cluster -o=jsonpath="{.spec.storage.azure.privateEndpointName}" -w
    注記

    リダイレクトが有効になっていると、クラスターの外部からのイメージのプルが機能しなくなります。

検証

  1. 次のコマンドを実行して、レジストリーサービス名を取得します。

    $ oc registry info --internal=true

    出力例

    image-registry.openshift-image-registry.svc:5000

  2. 次のコマンドを実行してデバッグモードに入ります。

    $ oc debug node/<node_name>
  3. 推奨される chroot コマンドを実行します。以下に例を示します。

    $ chroot /host
  4. 次のコマンドを入力して、コンテナーレジストリーにログインします。

    $ podman login --tls-verify=false -u unused -p $(oc whoami -t) image-registry.openshift-image-registry.svc:5000

    出力例

    Login Succeeded!

  5. 次のコマンドを入力して、レジストリーからイメージをプルできることを確認します。

    $ podman pull --tls-verify=false image-registry.openshift-image-registry.svc:5000/openshift/tools

    出力例

    Trying to pull image-registry.openshift-image-registry.svc:5000/openshift/tools/openshift/tools...
    Getting image source signatures
    Copying blob 6b245f040973 done
    Copying config 22667f5368 done
    Writing manifest to image destination
    Storing signatures
    22667f53682a2920948d19c7133ab1c9c3f745805c14125859d20cede07f11f9

2.5.4. オプション: Azure でプライベートストレージエンドポイントを使用する場合にリダイレクトを無効にする

デフォルトでは、イメージレジストリーを使用する場合、リダイレクトが有効になります。リダイレクトにより、レジストリー Pod からオブジェクトストレージへのトラフィックのオフロードが可能になり、プルが高速化されます。リダイレクトが有効で、ストレージアカウントがプライベートである場合、クラスターの外部のユーザーはレジストリーからイメージをプルできません。

場合によっては、クラスターの外部のユーザーがレジストリーからイメージをプルできるように、リダイレクトを無効にする必要があります。

リダイレクトを無効にするには、次の手順を実行します。

前提条件

  • Azure 上で動作するようにイメージレジストリーを設定している。
  • ルートを設定している。

手順

  • 次のコマンドを入力して、イメージレジストリー設定のリダイレクトを無効にします。

    $ oc patch configs.imageregistry cluster --type=merge -p '{"spec":{"disableRedirect": true}}'

検証

  1. 次のコマンドを実行して、レジストリーサービス名を取得します。

    $ oc registry info

    出力例

    default-route-openshift-image-registry.<cluster_dns>

  2. 次のコマンドを入力して、コンテナーレジストリーにログインします。

    $ podman login --tls-verify=false -u unused -p $(oc whoami -t) default-route-openshift-image-registry.<cluster_dns>

    出力例

    Login Succeeded!

  3. 次のコマンドを入力して、レジストリーからイメージをプルできることを確認します。

    $ podman pull --tls-verify=false default-route-openshift-image-registry.<cluster_dns>
    /openshift/tools

    出力例

    Trying to pull default-route-openshift-image-registry.<cluster_dns>/openshift/tools...
    Getting image source signatures
    Copying blob 6b245f040973 done
    Copying config 22667f5368 done
    Writing manifest to image destination
    Storing signatures
    22667f53682a2920948d19c7133ab1c9c3f745805c14125859d20cede07f11f9

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.