5.2. セキュアなレジストリーの手動による公開
クラスター内から OpenShift イメージレジストリーにログインする代わりに、ルートを使用してレジストリーを公開することで、OpenShift イメージレジストリーへの外部アクセスを取得できます。この外部アクセスを使用すると、ルートアドレスを使用してクラスターの外部からレジストリーにログインできます。その後、ルートホストを使用して、イメージにタグを付け、既存のプロジェクトにプッシュできます。
configs.imageregistry.operator.openshift.io リソースで DefaultRoute パラメーターを使用するか、カスタムルートを使用してルートを公開できます。
前提条件
以下の前提条件が自動的に実行する。
- Registry Operator をデプロイする。
- Ingress Operator デプロイする。
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。
手順
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 次のコマンドを入力して、
podmanでログインします。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 podman login -u kubeadmin -p $(oc whoami -t) --tls-verify=false $HOST
$ podman login -u kubeadmin -p $(oc whoami -t) --tls-verify=false $HOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
--tls-verify=false: ルートのクラスターのデフォルト証明書が信頼されていない場合は、このパラメーターをfalseに設定します。Ingress Operator で、信頼されるカスタム証明書をデフォルト証明書として設定できます。
-
カスタムルートを使用してレジストリーを公開するには、ルートの TLS キーを使用してシークレットを作成します。この手順はオプションです。シークレットを作成しない場合、ルートは Ingress Operator からデフォルトの TLS 設定を使用します。
oc create secret tls public-route-tls \ -n openshift-image-registry \ --cert=</path/to/tls.crt> \ --key=</path/to/tls.key>$ oc create secret tls public-route-tls \ -n openshift-image-registry \ --cert=</path/to/tls.crt> \ --key=</path/to/tls.key>Copy to Clipboard Copied! Toggle word wrap Toggle overflow レジストリー Operator で、次のコマンドを入力します。
oc edit configs.imageregistry.operator.openshift.io/cluster
$ oc edit configs.imageregistry.operator.openshift.io/clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記レジストリーのルートにカスタム TLS 設定を提供する場合にのみ
secretNameを設定します。
トラブルシューティング