第6章 Red Hat Quay コンポーネントのトラブルシューティング


Red Hat Quay の特定のコンポーネントのトラブルシューティングを行い、コンポーネント関連の問題を解決するには、このドキュメントに記載されている手順を使用できます。デバッグモードで実行して、ログと設定を取得し、ヘルスチェックを実行してから、Red Hat ナレッジベースを検索したり、サポートチケットを発行したりすることもできます。

次の手順を使用すると、コンポーネントの一般的な問題のトラブルシューティングを行うことができます。その後、Red Hat ナレッジベースで解決策を検索するか、Red Hat サポートチームにサポートチケットを提出してください。

6.1. Red Hat Quay データベースのトラブルシューティング

Red Hat Quay データベースのトラブルシューティングを行い、接続、設定、またはリソースの問題を解決するには、デプロイメントの種類、Pod またはコンテナーの状態、ログ、接続、および設定を確認できます。リソース割り当てを調べたり、PostgreSQL データベースとやり取りしたりすることもできます。

  • イメージのメタデータ: データベースには、イメージ名、バージョン、作成タイムスタンプ、イメージを所有するユーザーまたは組織など、コンテナーイメージに関連付けられたメタデータが保存されます。この情報により、レジストリー内のコンテナーイメージを簡単に識別および整理できます。
  • イメージタグ: Red Hat Quay を使用すると、ユーザーはコンテナーイメージにタグを割り当てることができ、便利なラベル付けとバージョン管理が可能になります。PostgreSQL データベースは、イメージタグとそれに対応するイメージマニフェスト間のマッピングを維持し、ユーザーが提供されたタグに基づいてコンテナーイメージの特定のバージョンを取得できるようにします。
  • イメージレイヤー: コンテナーイメージは複数のレイヤーで構成され、個別のオブジェクトとして保存されます。データベースには、順序、チェックサム、サイズなど、これらのレイヤーに関する情報が記録されます。このデータは、コンテナーイメージの効率的な保存と取得にとって非常に重要です。
  • ユーザーおよび組織のデータ: Red Hat Quay はユーザーと組織の管理をサポートしており、ユーザーがコンテナーイメージへのアクセスを認証および管理できるようにします。PostgreSQL データベースには、ユーザー名、電子メールアドレス、認証トークン、アクセス許可などのユーザーと組織の情報が保存されます。
  • レポジトリー情報: Red Hat Quay は、コンテナーイメージをリポジトリーに編成します。リポジトリーは、関連するイメージをグループ化するための論理ユニットとして機能します。データベースは、名前、説明、表示設定、アクセス制御情報などのリポジトリーデータを維持し、ユーザーがリポジトリーを効果的に管理および共有できるようにします。
  • イベントログ: Red Hat Quay は、イメージ管理とリポジトリーの操作に関連するさまざまなイベントとアクティビティーを追跡します。イメージのプッシュ、プル、削除、リポジトリーの変更を含むこれらのイベントログは PostgreSQL データベースに保存されて、監査証跡が提供されます。このため、管理者はシステムアクティビティーを監視および分析できます。

このセクションの内容では、次の手順を説明します。

  • デプロイメントのタイプの確認: データベースが仮想マシン上のコンテナーとしてデプロイされているか、OpenShift Container Platform 上の Pod としてデプロイされているかを確認します。
  • コンテナーまたは Pod のステータスの確認: デプロイメントタイプに基づいた特定のコマンドを使用して、データベース Pod またはコンテナーのステータスを確認します。
  • データベースコンテナーまたは Pod のログの調査: データベース Pod またはコンテナーのログ (さまざまなデプロイメントタイプのコマンドを含む) にアクセスして調査します。
  • Red Hat Quay とデータベース Pod 間の接続を確認する: 関連するコマンドを使用して、Red Hat Quay と database Pod 間の接続を確認します。
  • データベース設定の確認: デプロイメントタイプに基づいて、さまざまなレベル (OpenShift Container Platform または PostgreSQL レベル) でデータベース設定を確認します。
  • リソース割り当ての確認: ディスク使用量やその他のリソース使用量を含む、Red Hat Quay デプロイメントのリソース割り当てを監視します。
  • Red Hat Quay データベースとの対話: データベースにアクセスしてクエリーを実行するコマンドなど、PostgreSQL データベースと対話する方法を学びます。

6.1.1. Red Hat Quay データベースの問題のトラブルシューティング

Red Hat Quay データベースの問題をトラブルシューティングし、データベース接続拒否認証失敗 などの一般的なエラーを解決するには、データベースログを確認し、認証情報を確認し、データベースが実行されていることを確認してください。

Red Hat Quay のスタンドアロンデプロイメントでスーパーユーザーのパスワードをリセットするには、Python を使用して bcrypt でハッシュ化されたパスワードを生成し、podman exec を使用して PostgreSQL コンテナーに接続し、新しいハッシュ化されたパスワードでユーザーテーブルを更新します。

前提条件

  • Red Hat Quay スーパーユーザーを作成している。
  • Python 3.9 がインストールされている。
  • Python 用の pip パッケージマネージャーがインストールされている。
  • pip 用の bcrypt パッケージがインストールされている。

手順

  1. 次のコマンドを入力して、Python 3.9 の bcrypt パッケージを使用して、安全なハッシュ化されたパスワードを生成します。

    $ python3.9 -c 'import bcrypt; print(bcrypt.hashpw(b"newpass1234", bcrypt.gensalt(12)).decode("utf-8"))'

    出力例

    $2b$12$T8pkgtOoys3G5ut7FV1She6vXlYgU.6TeoGmbbAVQtN8X8ch4knKm

  2. 次のコマンドを入力して、Red Hat Quay コンテナーレジストリーのコンテナー ID を表示します。

    $ sudo podman ps -a

    出力例

    CONTAINER ID  IMAGE                                       COMMAND         CREATED         STATUS             PORTS                   NAMES
    70560beda7aa  registry.redhat.io/rhel8/redis-5:1         run-redis       2 hours ago     Up 2 hours ago     0.0.0.0:6379->6379/tcp                       redis
    8012f4491d10  registry.redhat.io/quay/quay-rhel8:v3.8.2  registry        3 minutes ago   Up 8 seconds ago   0.0.0.0:80->8080/tcp, 0.0.0.0:443->8443/tcp  quay
    8b35b493ac05  registry.redhat.io/rhel8/postgresql-10:1   run-postgresql  39 seconds ago  Up 39 seconds ago  0.0.0.0:5432->5432/tcp                       postgresql-quay

  3. 次のコマンドで、postgresql コンテナーイメージの対話型シェルを実行します。

    $ sudo podman exec -it 8b35b493ac05 /bin/bash
  4. データベース、ユーザー名、およびホストアドレスを指定して、quay PostgreSQL データベースサーバーに再入力します。

    bash-4.4$ psql -d quay -U quayuser -h 192.168.1.28 -W
  5. パスワードを紛失したスーパーユーザー管理者の password_hash を更新します。

    quay=> UPDATE public.user SET password_hash = '$2b$12$T8pkgtOoys3G5ut7FV1She6vXlYgU.6TeoGmbbAVQtN8X8ch4knKm' where username = 'quayadmin';

    出力例

    UPDATE 1

  6. 次のコマンドを入力して、password_hash が更新されたことを確認します。

    quay=> select * from public.user;

    出力例

    id | uuid | username | password_hash | email | verified | stripe_id | organization | robot | invoice_email | invalid_login_attempts | last_invalid_login |removed_tag_expiration_s | enabled | invoice_email_address | company | family_name | given_name | location | maximum_queued_builds_count | creation_date | last_accessed
    ----+--------------------------------------+-----------+--------------------------------------------------------------+-----------------------+---
    -------+-----------+--------------+-------+---------------+------------------------+----------------------------+--------------------------+------
    ---+-----------------------+---------+-------------+------------+----------+-----------------------------+----------------------------+-----------
    1 | 73f04ef6-19ba-41d3-b14d-f2f1eed94a4a | quayadmin | $2b$12$T8pkgtOoys3G5ut7FV1She6vXlYgU.6TeoGmbbAVQtN8X8ch4knKm | quayadmin@example.com | t | | f | f | f | 0 | 2023-02-23 07:54:39.116485 | 1209600 | t | | | | | | | 2023-02-23 07:54:39.116492

  7. 新しいパスワードを使用して Red Hat Quay デプロイメントにログインします。

    $ sudo podman login -u quayadmin -p newpass1234 http://quay-server.example.com --tls-verify=false

    出力例

    Login Succeeded!

6.1.3. Red Hat Quay Operator でのスーパーユーザーのパスワードのリセット

Red Hat Quay Operator デプロイメントでスーパーユーザーのパスワードをリセットするには、Python を使用して bcrypt でハッシュ化されたパスワードを生成し、oc rshpsql を使用して PostgreSQL データベースにログインし、新しいハッシュ化されたパスワードでユーザーテーブルを更新します。

前提条件

  • Red Hat Quay スーパーユーザーを作成している。
  • Python 3.9 がインストールされている。
  • Python 用の pip パッケージマネージャーがインストールされている。
  • pip 用の bcrypt パッケージがインストールされている。

手順

  1. Red Hat Quay デプロイメントにログインします。
  2. OpenShift Container Platform UI で、Workloads Secrets に移動します。
  3. Red Hat Quay デプロイメントの namespace (例: Project quay) を選択します。
  4. PostgreSQL データベースの認証情報を見つけて保存します。
  5. 次のコマンドを入力して、Python 3.9 の bcrypt パッケージを使用して、安全なハッシュ化されたパスワードを生成します。

    $ python3.9 -c 'import bcrypt; print(bcrypt.hashpw(b"newpass1234", bcrypt.gensalt(12)).decode("utf-8"))'

    出力例

    $2b$12$zoilcTG6XQeAoVuDuIZH0..UpvQEZcKh3V6puksQJaUQupHgJ4.4y

  6. CLI で、たとえば次のようにデータベースにログインします。

    $ oc rsh quayuser-quay-quay-database-669c8998f-v9qsl
  7. 次のコマンドを入力して、データベース、ユーザー名、およびホストアドレスを指定して、quay PostgreSQL データベースサーバーへの接続を開きます。

    sh-4.4$ psql -U quayuser-quay-quay-database -d quayuser-quay-quay-database -W
  8. 次のコマンドを入力して、現在のユーザーのデフォルトのデータベースに接続します。

    quay=> \c
  9. パスワードを紛失したスーパーユーザー管理者の password_hash を更新します。

    quay=> UPDATE public.user SET password_hash = '$2b$12$zoilcTG6XQeAoVuDuIZH0..UpvQEZcKh3V6puksQJaUQupHgJ4.4y' where username = 'quayadmin';
  10. 次のコマンドを入力して、password_hash が更新されたことを確認します。

    quay=> select * from public.user;

    出力例

    id | uuid | username | password_hash | email | verified | stripe_id | organization | robot | invoice_email | invalid_login_attempts | last_invalid_login |removed_tag_expiration_s | enabled | invoice_email_address | company | family_name | given_name | location | maximum_queued_builds_count | creation_date | last_accessed
    ----+--------------------------------------+-----------+--------------------------------------------------------------+-----------------------+---
    -------+-----------+--------------+-------+---------------+------------------------+----------------------------+--------------------------+------
    ---+-----------------------+---------+-------------+------------+----------+-----------------------------+----------------------------+-----------
    1 | 73f04ef6-19ba-41d3-b14d-f2f1eed94a4a | quayadmin | $2b$12$zoilcTG6XQeAoVuDuIZH0..UpvQEZcKh3V6puksQJaUQupHgJ4.4y | quayadmin@example.com | t | | f | f | f | 0 | 2023-02-23 07:54:39.116485 | 1209600 | t | | | | | | | 2023-02-23 07:54:39.116492

  11. OpenShift Container Platform 上の Red Hat Quay UI に移動し、新しい認証情報を使用してログインします。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る