23.2.3. GCP の OpenShift Container Platform レジストリーの設定
Google Cloud Platform (GCP) は、OpenShift Container Platform が OpenShift Container Platform コンテナーイメージレジストリーを使用してコンテナーイメージを保存するために、使用可能なオブジェクトクラウドストレージを提供します。
詳細情報は、GCP ドキュメントのクラウドストレージ を参照してください。
前提条件
インストールする前に、バケットを作成して、レジストリーイメージをホストする必要があります。以下のコマンドでは、設定したサービスアカウントを使用してリージョンバケットを作成します。
デフォルトでは、バケットのデータは、Google が管理するキーを使用して自動的に暗号化されます。データの暗号化に別のキーを指定する場合には、GCP で利用可能な データ暗号化オプション を参照してください。
詳細情報は、ストレージバケットの作成ドキュメント を参照してください。
手順
レジストリーが Google Cloud Storage (GCS) バケットを使用できるように、Ansible インベントリーファイル を設定します。
詳細情報は、GCP ドキュメントのクラウドストレージ を参照してください。
23.2.3.1. GCP 向けの OpenShift Container Platform レジストリーの手動設定 リンクのコピーリンクがクリップボードにコピーされました!
GCP オブジェクトストレージを使用するには、レジストリーの設定ファイルを編集してレジストリー Pod にマウントします。
ストレージドライバーの設定ファイルに関する詳細情報は、Google Cloud ストレージドライバーのドキュメント を参照してください。
手順
現在の/etc/registry/config.yml ファイルをエクスポートします。
oc get secret registry-config \ -o jsonpath='{.data.config\.yml}' -n default | base64 -d \ >> config.yml.old
$ oc get secret registry-config \ -o jsonpath='{.data.config\.yml}' -n default | base64 -d \ >> config.yml.old
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以前の /etc/registry/config.yml ファイルから新規の設定ファイルを作成します。
cp config.yml.old config.yml
$ cp config.yml.old config.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このファイルを編集して GCP パラメーターを追加します。レジストリーの設定ファイルの
storage
セクションに、バケットと keyfile を指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow registry-config
シークレットを削除します。oc delete secret registry-config -n default
$ oc delete secret registry-config -n default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow シークレットを再作成して、更新された設定ファイルを参照します。
oc create secret generic registry-config \ --from-file=config.yml -n default
$ oc create secret generic registry-config \ --from-file=config.yml -n default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新された設定を読み取るためにレジストリーを再デプロイします。
oc rollout latest docker-registry -n default
$ oc rollout latest docker-registry -n default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
23.2.3.1.1. レジストリーが GCP オブジェクトストレージを使用していることを確認します。 リンクのコピーリンクがクリップボードにコピーされました!
レジストリーが GCP バケットストレージを使用しているかどうかを確認します。
手順
GCP ストレージを使用して正常にレジストリーをデプロイした後に、GCP バケットストレージではなく
emptydir
が使用される場合には、deploymentconfig
のレジストリーは、何も情報を表示しません。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Pod の寿命を共有する一時ディレクトリー
/registry のマウントポイントが空かどうかを確認します。これは、GCP ストレージが使用するボリュームです。
oc exec \ $(oc get pod -l deploymentconfig=docker-registry \ -o=jsonpath='{.items[0].metadata.name}') -i -t -- ls -l /registry
$ oc exec \ $(oc get pod -l deploymentconfig=docker-registry \ -o=jsonpath='{.items[0].metadata.name}') -i -t -- ls -l /registry total 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 空の場合は、GCP バケット設定が
registry-config
シークレットで実行されているためです。Copy to Clipboard Copied! Toggle word wrap Toggle overflow インストーラーは、インストールドキュメントのストレージセクション で記載されているように、拡張されたレジストリー機能を使用して、希望の設定で config.yml ファイルを作成します。以下のコマンドで、ストレージバケット設定が保存されている
storage
セクションを含めて設定ファイルを表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、以下でシークレットを表示できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow GCP コンソールで Storage を表示して Browser をクリックし、バケットを選択するか、
gsutil
コマンドを実行して、イメージのプッシュが正常に行われたことを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
emptyDir
ボリュームを使用する場合には、/registry
マウントポイントは以下のようになります。