This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.7.15.5.2. VDDK イメージの作成
インポートプロセスでは、VMware Virtual Disk Development Kit (VDDK) を使用して VMware 仮想ディスクをコピーします。
VDDK SDK をダウンロードし、VDDK イメージを作成し、イメージレジストリーにイメージをアップロードしてからこれを v2v-vmware 設定マップに追加できます。
内部 OpenShift Container Platform イメージレジストリーまたは VDDK イメージのセキュアな外部イメージレジストリーのいずれかを設定できます。レジストリーは OpenShift Virtualization 環境からアクセスできる必要があります。
VDDK イメージをパブリックリポジトリーに保存すると、VMware ライセンスの条件に違反する可能性があります。
7.15.5.2.1. 内部イメージレジストリーの設定 リンクのコピーリンクがクリップボードにコピーされました!
イメージレジストリー Operator 設定を更新して、ベアメタルに内部 OpenShift Container Platform イメージレジストリーを設定できます。
レジストリーをルートで公開して、OpenShift Container Platform クラスターから、または外部からレジストリーに直接アクセスできます。
イメージレジストリーの管理状態の変更
イメージレジストリーを起動するには、イメージレジストリー Operator 設定の managementState を Removed から Managed に変更する必要があります。
手順
ManagementStateイメージレジストリー Operator 設定をRemovedからManagedに変更します。以下に例を示します。oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"managementState":"Managed"}}'$ oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"managementState":"Managed"}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ベアメタルおよび他の手動インストールの場合のレジストリーストレージの設定
クラスター管理者は、インストール後にレジストリーをストレージを使用できるように設定する必要があります。
前提条件
- クラスター管理者のパーミッション。
- ベアメタルなどの、手動でプロビジョニングされた Red Hat Enterprise Linux CoreOS (RHCOS) ノードを使用するクラスター。
Red Hat OpenShift Container Storage などのクラスターのプロビジョニングされた永続ストレージ。
重要OpenShift Container Platform は、1 つのレプリカのみが存在する場合にイメージレジストリーストレージの
ReadWriteOnceアクセスをサポートします。2 つ以上のレプリカで高可用性をサポートするイメージレジストリーをデプロイするには、ReadWriteManyアクセスが必要です。- 100Gi の容量が必要です。
手順
レジストリーをストレージを使用できるように設定するには、
configs.imageregistry/clusterリソースのspec.storage.pvcを変更します。注記共有ストレージを使用する場合は、外部からアクセスを防ぐためにセキュリティー設定を確認します。
レジストリー Pod がないことを確認します。
oc get pod -n openshift-image-registry
$ oc get pod -n openshift-image-registryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ストレージタイプが
emptyDIRの場合、レプリカ数が1を超えることはありません。レジストリー設定を確認します。
oc edit configs.imageregistry.operator.openshift.io
$ oc edit configs.imageregistry.operator.openshift.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
storage: pvc: claim:storage: pvc: claim:Copy to Clipboard Copied! Toggle word wrap Toggle overflow claimフィールドを空のままにし、image-registry-storagePVC の自動作成を可能にします。clusteroperatorステータスを確認します。oc get clusteroperator image-registry
$ oc get clusteroperator image-registryCopy to Clipboard Copied! Toggle word wrap Toggle overflow イメージのビルドおよびプッシュを有効にするためにレジストリーが managed に設定されていることを確認します。
以下を実行します。
oc edit configs.imageregistry/cluster
$ oc edit configs.imageregistry/clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次に、行を変更します。
managementState: Removed
managementState: RemovedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記を以下のように変更します。
managementState: Managed
managementState: ManagedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
クラスターからレジストリーへの直接アクセス
クラスター内からレジストリーにアクセスすることができます。
手順
内部ルートを使用して、クラスターからレジストリーにアクセスします。
ノードの名前を取得してノードにアクセスします。
oc get nodes
$ oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc debug nodes/<node_name>
$ oc debug nodes/<node_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ノード上で
ocやpodmanなどのツールへのアクセスを有効にするには、以下のコマンドを実行します。chroot /host
sh-4.2# chroot /hostCopy to Clipboard Copied! Toggle word wrap Toggle overflow アクセストークンを使用してコンテナーイメージレジストリーにログインします。
oc login -u kubeadmin -p <password_from_install_log> https://api-int.<cluster_name>.<base_domain>:6443
sh-4.2# oc login -u kubeadmin -p <password_from_install_log> https://api-int.<cluster_name>.<base_domain>:6443Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman login -u kubeadmin -p $(oc whoami -t) image-registry.openshift-image-registry.svc:5000
sh-4.2# podman login -u kubeadmin -p $(oc whoami -t) image-registry.openshift-image-registry.svc:5000Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のようなログインを確認するメッセージが表示されるはずです。
Login Succeeded!
Login Succeeded!Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ユーザー名には任意の値を指定でき、トークンには必要な情報がすべて含まれます。コロンが含まれるユーザー名を指定すると、ログインに失敗します。
イメージレジストリー Operator はルートを作成するため、
default-route-openshift-image-registry.<cluster_name>のようになります。レジストリーに対して
podman pullおよびpodman push操作を実行します。重要任意のイメージをプルできますが、system:registry ロールを追加している場合は、各自のプロジェクトにあるレジストリーにのみイメージをプッシュすることができます。
次の例では、以下を使用します。
Expand コンポーネント 値 <registry_ip>
172.30.124.220<port>
5000<project>
openshift<image>
image<tag>
省略 (デフォルトは
latest)任意のイメージをプルします。
podman pull name.io/image
sh-4.2# podman pull name.io/imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新規イメージに
<registry_ip>:<port>/<project>/<image>形式でタグ付けします。プロジェクト名は、イメージを正しくレジストリーに配置し、これに後でアクセスできるようにするために OpenShift Container Platform のプル仕様に表示される必要があります。podman tag name.io/image image-registry.openshift-image-registry.svc:5000/openshift/image
sh-4.2# podman tag name.io/image image-registry.openshift-image-registry.svc:5000/openshift/imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記指定されたプロジェクトについて
system:image-builderロールを持っている必要があります。このロールにより、ユーザーはイメージの書き出しやプッシュを実行できます。そうでない場合は、次の手順のpodman pushは失敗します。これをテストするには、新規プロジェクトを作成し、イメージをプッシュできます。新しくタグ付けされたイメージをレジストリーにプッシュします。
podman push image-registry.openshift-image-registry.svc:5000/openshift/image
sh-4.2# podman push image-registry.openshift-image-registry.svc:5000/openshift/imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow
セキュアなレジストリーの手動による公開
クラスター内から OpenShift Container Platform レジストリーにログインするのではなく、外部からレジストリーにアクセスできるように、このレジストリーをルートに公開します。これにより、ルートアドレスを使用してクラスターの外部からレジストリーにログインし、ルートホストを使用してイメージにタグを付けて既存のプロジェクトにプッシュすることができます。
前提条件:
以下の前提条件は自動的に実行されます。
- レジストリー Operator のデプロイ。
- Ingress Operator のデプロイ。
手順
configs.imageregistry.operator.openshift.io リソースで DefaultRoute パラメーターを使用するか、またはカスタムルートを使用してルートを公開することができます。
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 $HOST1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
--tls-verify=falseは、ルートのクラスターのデフォルト証明書が信頼されない場合に必要になります。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 この手順はオプションです。シークレットを作成しない場合、ルートは Ingress Operator からデフォルトの TLS 設定を使用します。
レジストリー Operator では、以下のようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記レジストリーのルートのカスタム TLS 設定を指定している場合は
secretNameのみを設定します。