Red Hat Quay Operator のインストール
-
OpenShift Container Platform コンソールを使用して、Operators → OperatorHub を選択します。
-
検索ボックスに Red Hat Quay と入力し、Red Hat が提供する公式の
Red Hat Quay Operator
を選択します。機能、前提条件、デプロイメント情報について記載されている Installation ページに移動します。
-
インストールのカスタマイズには、以下の選択肢を使用できます。
i. Update Channel: 更新チャネルとして、最新リリースのstable-3.9
を選択します。
ii. Installation Mode: Red Hat Quay Operator をクラスター全体で使用する場合は、クラスターのすべてのnamespace
を選択します。
iii. 更新の承認:自動
を選択します。
# oc get pods -n openshift-operators
NAME READY STATUS RESTARTS AGE
quay-operator.v3.9.0-645f8977b6-pspc5 1/1 Running 0 77s
オブジェクトストレージの設定とRed Hat Quay のデプロイ
ここでは Amazon S3ストレージを使用する方法を紹介しますが、MCG (Multicloud Object Gateway) をインストール済みの場合、こちらで紹介されている方法で、オブジェクトストレージを使用せずにRed Hat Quayをデプロイすることもできます。
参考:
Red Hat Quay をインストールする前にオブジェクトストレージを設定する必要があります。今回は、管理対象外ストレージであるAmazon S3 ストレージを使用します。
-
次のコマンドを入力して、namespace (デフォルトのnamespaceは、quay-enterprise) を作成します。作成したnamespaceに、プロジェクトを切り替えます。
# oc new-project quay-enterprise # oc project quay-enterprise
-
こちらを参照してAmazon S3 bucketをセットアップし、アクセスに必要な認証情報を入手します。次のような
config.yaml
ファイルを作成し、アクセス情報を設定します。config.yamlDISTRIBUTED_STORAGE_CONFIG: s3Storage: - S3Storage - host: s3.ap-northeast-1.amazonaws.com s3_access_key: XXXXXXXXXXXXXXXXXXXX s3_secret_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX s3_bucket: quay-bucket storage_path: /datastorage/registry DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: [] DISTRIBUTED_STORAGE_PREFERENCE: - s3Storage
-
次のコマンドを入力して、設定ファイルを使用して Secret を作成します。
# oc create secret generic --from-file config.yaml=./config.yaml config-bundle-secret secret/config-bundle-secret created
-
quayregistry.yaml ファイルを作成し、管理対象外コンポーネントを特定し、作成された Secret を参照します。
quayregistry.yamlapiVersion: quay.redhat.com/v1 kind: QuayRegistry metadata: name: my-registry namespace: quay-enterprise spec: configBundleSecret: config-bundle-secret components: - kind: objectstorage managed: false
-
quayregistry.yaml ファイルを使用してレジストリーをデプロイします。
# oc create -n quay-enterprise -f quayregistry.yaml quayregistry.quay.redhat.com/my-registry created
-
次のようなpodが起動します。
# oc get pods -n quay-enterprise NAME READY STATUS RESTARTS AGE my-registry-clair-app-5457c98f98-67w46 1/1 Running 2 (3m49s ago) 4m3s my-registry-clair-app-5457c98f98-7mdpf 1/1 Running 0 2m35s my-registry-clair-app-5457c98f98-d25l8 1/1 Running 0 65s my-registry-clair-app-5457c98f98-kbb45 1/1 Running 2 (3m38s ago) 3m50s my-registry-clair-postgres-75f9b7f5dc-nkd7q 1/1 Running 1 (3m34s ago) 4m3s my-registry-quay-app-759c59859d-kgqnb 1/1 Running 0 3m5s my-registry-quay-app-759c59859d-p764v 1/1 Running 0 3m6s my-registry-quay-app-upgrade-dsp8s 0/1 Completed 0 4m3s my-registry-quay-config-editor-5d5b468dff-pxllh 1/1 Running 0 4m3s my-registry-quay-database-77cf6fbf7f-bsq2z 1/1 Running 0 4m3s my-registry-quay-mirror-6cd84fdfb5-hwskm 1/1 Running 0 4m3s my-registry-quay-mirror-6cd84fdfb5-m6sj2 1/1 Running 0 3m48s my-registry-quay-redis-68c786fcf4-wpw67 1/1 Running 0 4m3s
最初のユーザーの作成
Red Hat Quay UI を使用した最初のユーザーの作成
- OpenShift Container Platform コンソールで、Operators → Installed Operators に移動し、
Red Hat Quay オペレーター
をクリックします。
- Quay Registry から新しくインストールした QuayRegistry オブジェクト(ここではmy-registry)をクリックして詳細を表示します。
- Registry Endpoint の URL をクリックし、Red Hat Quay レジストリー UI にアクセスします。
- Red Hat Quay レジストリー UI で Create Account を選択し、ユーザーを作成します。
5.Username、Password、Email の詳細を入力し、Create Account をクリックします。
- 最初のユーザーを作成すると、自動的に Red Hat Quay レジストリーにログインされます。
Organization の作成
IBM Cloud Pak for Data のプライベート・コンテナー・レジストリーとして使用する場合は、イメージのミラーリングの前に cp
と cpopen
というOrganizationを作成しておく必要があります。
IBM Cloud Pak for Data のプライベート・コンテナー・レジストリーとして使用する場合で、Amazon Elastic File System のセットアップを実施する場合は、さらにもう一つOrganizationを作成しておく必要があります。Red Hat Quayの場合、一番上の階層がOrganizationとなりますが、Organization はリポジトリとは違いその直下にイメージをミラーリングすることができないためです。
例えば、 sig-storage
というOrganization を作成した場合、ミラーリング実行コマンドを次のように変更して実行します。
cpd-cli manage mirror-nfs-provisioner \
--target_registry=${PRIVATE_REGISTRY_LOCATION}/sig-storage \
--source_registry=k8s.gcr.io/sig-storage
## 参考:マニュアル記載のミラーリングコマンド
cpd-cli manage mirror-nfs-provisioner \
--target_registry=${PRIVATE_REGISTRY_LOCATION} \
--source_registry=k8s.gcr.io/sig-storage
これにより、sig-storage/nfs-subdir-external-provisioner
というリポジトリにイメージがミラーリングされます。
その後のステップで NFS_IMAGE
環境変数を設定する時には、次のように設定します。
export NFS_IMAGE=${PRIVATE_REGISTRY_LOCATION}/sig-storage/nfs-subdir-external-provisioner:v4.0.2
環境
- ROSA 4.12
- Red Hat Quay 3.9 (3.9.1でも同様であることを確認済み)
- IBM Cloud Pak for Data 4.7