Artifact Registry でコンテナ イメージを管理する際に問題が発生した場合に役立つトラブルシューティング手順について説明します。
イメージの pull や Google Cloud ランタイム環境へのデプロイができない
以下をご確認ください。
- push するイメージのフルパスが正しいことを確認します。パスには、レジストリのホスト名、 Google Cloud、プロジェクト ID、リポジトリ、イメージを含める必要があります。次に例を示します。
    
 詳細については、リポジトリとイメージ名をご覧ください。us-west1-docker.pkg.dev/my-project/my-repo/my-image:v1 - イメージを pull するアカウントに、リポジトリから読み取る適切な権限があることを確認します。サービス アカウントへのロールの自動付与を無効にしている場合は、ランタイム サービス アカウントに Artifact Registry ロールを付与する必要があります。
 - Compute Engine、Cloud Run、Google Kubernetes Engine のサービス アカウントの場合は、ランタイム サービス アカウントに Artifact Registry 読み取りロール(
roles/artifactregistry.reader)を付与する必要があります。 - Cloud Build サービス アカウントの場合、ビルドを実行するサービス アカウントに Artifact Registry 書き込みロール(
roles/artifactregistry.writer)を付与する必要があります。 - Docker や他のサードパーティ製ツールを使用している場合は、次の操作を行う必要があります。
    
- リポジトリを操作するアカウントに権限を付与します。
 - リポジトリに対して認証を行うようにクライアントを構成します。
 
 
Artifact Registry にイメージを push できない
次のようにしてください。
- リポジトリが存在することを確認します。Container Registry とは異なり、リポジトリの作成は最初のイメージの push とは別の操作です。リポジトリが存在しない場合は、作成します。
 - push するイメージのフルパスが正しいことを確認します。パスには、レジストリのホスト名、 Google Cloud プロジェクト ID、リポジトリ、イメージを含める必要があります。次に例を示します。
  
us-west1-docker.pkg.dev/my-project/my-repo/my-image:v1各 Artifact Registry リポジトリは個別のリソースであるため、リポジトリのないパスにイメージを push することはできません。たとえば、
us-west1-docker.pkg.dev/my-project/my-image:v1は有効な画像パスではありません。詳細については、リポジトリとイメージ名をご覧ください。
 - イメージを push するアカウントに、リポジトリへの書き込み権限があることを確認します。サービス アカウントへのロールの自動付与を無効にしている場合は、ランタイム サービス アカウントに Artifact Registry ロールを付与する必要があります。
 - Compute Engine、Cloud Run、Google Kubernetes Engine のサービス アカウントの場合は、Artifact Registry 書き込みロール(
roles/artifactregistry.writer)をランタイム サービス アカウントに付与する必要があります。 - Cloud Build サービス アカウントの場合、ビルドを実行するサービス アカウントに Artifact Registry 書き込みロール(
roles/artifactregistry.writer)を付与する必要があります。 - Artifact Registry から「
The repository has enabled tag immutability」というメッセージが返された場合は、リポジトリにタグの不変性が構成されています。リポジトリ内の同じイメージの別のバージョンですでに使用されているタグを使用してイメージを push することはできません。保存されている他のバージョンのイメージで使用されていないタグを使用して、イメージを再度 push してみてください。リポジトリが不変のイメージタグ用に構成されていることを確認するには、 Google Cloud コンソールのリポジトリのリストにある [不変のイメージタグ] 列を確認するか、次のコマンドを実行します。
gcloud artifacts repositories describe REPOSITORY \ --project=PROJECT-ID \ --location=LOCATION 
ImagePullBackOff メッセージと ErrImagePull メッセージ
ImagePullBackOff と ErrImagePull を含むメッセージは、GKE によってレジストリからイメージを pull できないことを示しています。
- Artifact Registry から pull するための要件を確認する。
 - GKE ドキュメントのイメージの pull のトラブルシューティングを確認する。