第5章 レジストリーの公開
デフォルトでは、OpenShift イメージレジストリーはクラスターのインストール中に保護され、トラフィックは Transport Layer Security (TLS) プロトコルを介して提供されます。以前のバージョンの OpenShift Container Platform とは異なり、レジストリーはインストール時にクラスター外に公開されません。
5.1. デフォルトレジストリーの手動での公開 リンクのコピーリンクがクリップボードにコピーされました!
クラスター内からデフォルトの OpenShift イメージレジストリーにログインする代わりに、ルートを使用してレジストリーを公開することで、OpenShift イメージレジストリーへの外部アクセスを取得できます。この外部アクセスを使用すると、ルートアドレスを使用してクラスターの外部からレジストリーにログインできます。その後、ルートホストを使用して、イメージにタグを付け、既存のプロジェクトにプッシュできます。
前提条件
以下の前提条件が自動的に実行する。
- Registry Operator をデプロイする。
- Ingress Operator デプロイする。
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。
手順
configs.imageregistry.operator.openshift.ioリソースに存在するdefaultRouteパラメーターを使用してレジストリーを公開するには、次のコマンドを実行して defaultRoute` をtrueに設定します。oc patch configs.imageregistry.operator.openshift.io/cluster --patch '{"spec":{"defaultRoute":true}}' --type=merge$ oc patch configs.imageregistry.operator.openshift.io/cluster --patch '{"spec":{"defaultRoute":true}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、デフォルトのレジストリールートを取得します。
HOST=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')$ HOST=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Ingress Operator の証明書を取得します。
oc extract secret/$(oc get ingresscontroller -n openshift-ingress-operator default -o json | jq '.spec.defaultCertificate.name // "router-certs-default"' -r) -n openshift-ingress --confirm
$ oc extract secret/$(oc get ingresscontroller -n openshift-ingress-operator default -o json | jq '.spec.defaultCertificate.name // "router-certs-default"' -r) -n openshift-ingress --confirmCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、抽出した証明書をシステムの信頼できる CA ディレクトリーに移動します。
sudo mv tls.crt /etc/pki/ca-trust/source/anchors/
$ sudo mv tls.crt /etc/pki/ca-trust/source/anchors/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、クラスターのデフォルト証明書がルートを信頼できるようにします。
sudo update-ca-trust enable
$ sudo update-ca-trust enableCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、デフォルトルートで podman にログインします。
sudo podman login -u kubeadmin -p $(oc whoami -t) $HOST
$ sudo podman login -u kubeadmin -p $(oc whoami -t) $HOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow