Menu Close

第5章 レジストリーの公開

デフォルトで、OpenShift Container Platform レジストリーのセキュリティーは、TLS 経由でトラフィックを送信できるようにクラスターのインストール時に保護されます。以前のバージョンの OpenShift Container Platform とは異なり、レジストリーはインストール時にクラスター外に公開されません。

5.1. デフォルトレジストリーの手動による公開

クラスター内からデフォルトの OpenShift Container Platform レジストリーにログインするのではなく、外部からレジストリーにアクセスできるように、このレジストリーをルートで公開します。この外部アクセスにより、ルートアドレスを使用してクラスターの外部からレジストリーにログインし、ルートホストを使用してイメージにタグを付けて既存のプロジェクトにプッシュできます。

前提条件:

  • 以下の前提条件は自動的に実行されます。

    • レジストリー Operator のデプロイ。
    • Ingress Operator のデプロイ。

手順

configs.imageregistry.operator.openshift.io リソースの defaultRoute パラメーターを使用してルートを公開することができます。

defaultRoute を使用してレジストリーを公開するには、以下を実行します。

  1. defaultRoutetrue に設定します。

    $ oc patch configs.imageregistry.operator.openshift.io/cluster --patch '{"spec":{"defaultRoute":true}}' --type=merge
  2. デフォルトレジストリールートを取得します。

    $ HOST=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')
  3. Ingress Operator の証明書を取得します。

    $ oc get secret -n openshift-ingress  router-certs-default -o go-template='{{index .data "tls.crt"}}' | base64 -d | sudo tee /etc/pki/ca-trust/source/anchors/${HOST}.crt  > /dev/null
  4. 以下のコマンドを使用して、クラスターのデフォルト証明書でルートを信頼するようにします。

    $ sudo update-ca-trust enable
  5. デフォルトのルートを使用して podman にログインします。

    $ sudo podman login -u kubeadmin -p $(oc whoami -t) $HOST