メインコンテンツまでスキップ

トラブルシューティング

Container Registry のワークフロー内で発生しやすい問題を、発生する場所ごとにまとめています。ここに記載のない問題がある場合は、Tenant Owner または Sales に連絡してください。

サービスの有効化​

問題原因対処法
Active ボタンが表示されないTenant Owner ではありません。Owner role を持つ tenant を選択するか、Tenant Owner にサービスの有効化を依頼してください。
有効化後にログイン情報が見つからないログイン情報、tag、push コマンドは、有効化結果画面で ⓘ アイコンにマウスを合わせたときのみ表示されます。再度 ⓘ アイコンにマウスを合わせるか、Container Registry > Get Token から新しい認証情報を取得してください。

参照: サービスの有効化

Repository、Artifact、Tag の管理​

問題原因対処法
Repository、Artifact、Tag を誤って削除し、復元できない削除は仕様として取り消せません — 元に戻す機能はありません。次回は Delete をクリックする前に、そのリソースが本当に不要か確認してください。必要であれば、イメージを再度 push してください。

参照: Repository の管理

Retention Rule の管理​

問題原因対処法
Retention Rule を削除してしまったRetention Rule の削除は取り消せず、削除後の実行には適用されません。削除前に確認してください。同じ条件が再度必要な場合は、新しいルールを作成してください。
個々の Retention Rule に異なる実行時刻を設定できない1 つの Schedule が Policy 内のすべての Retention Rule に適用されます — ルールごとに個別の Schedule は設定できません。すべてのルールで共有の Schedule を使用するか、特定のルールだけ RUN NOW または DRY RUN で手動実行してください。

参照: Retention Rule と実行履歴の管理

Robot Account の管理​

問題原因対処法
Robot Account を削除し、CI/CD が動かなくなったRobot Account の削除は取り消せず、それを使用している CI/CD pipeline は即座にアクセス権を失います。削除前に確認してください。アクセスが必要であれば、新しい Robot Account を作成し、CI/CD の設定を更新してください。
作成後に Robot Account の Username または Token を失ったUsername と Token は、作成直後の 1 回のみ表示されます。ACTION REFRESH SECRET で新しい Token を生成し、この Robot Account を使用している箇所をすべて更新してください。
docker login、docker pull、docker push で「unauthorized to access repository」が返るRobot Account が無効化、削除、または Token が期限切れです。アカウントを再度有効化するか、新しく作成するか、secret をリフレッシュしたうえで、この Robot Account を使用している箇所の認証情報を更新してください。
Robot Account の secret をリフレッシュした後、CI/CD が認証できない古い secret が pipeline やシステムにまだ設定されています。この Robot Account を使用しているすべての pipeline とシステムで、新しい secret を直ちに更新してください。

参照: Robot Account の作成、Robot Account の管理

Service Plan と Quota の管理​

問題原因対処法
より低い Service Plan にダウングレードできないContainer Registry はアップグレードのみに対応しており、ダウングレードはサポートされていません。Plan がより高いティアに合わなくなった場合は、Sales に連絡してください。
必要な Service Plan が Update Type に表示されないセルフサービスのアップグレードでは標準 Plan のみが一覧表示されます。より高い Plan やカスタム Plan については、Sales に連絡してください。

参照: Service Plan と Quota の管理

kubectl でクラスターにイメージを pull する​

問題原因対処法
ImagePullBackOff、Events に 401 Unauthorized と表示される--docker-server がイメージ名のホスト部分と一致していない、または認証情報が間違っています。Secret を decode し、auths ブロックとイメージ名のホスト部分を比較してください。
ImagePullBackOff、Events に not found と表示されるイメージ名または tag が間違っています。registry 上にそのイメージが存在するか確認してください。
Secret は正しいように見えるのに Pod が失敗するPod に imagePullSecrets が設定されていない、または Secret と異なる namespace にあります。Pod テンプレートに imagePullSecrets を追加し、Secret と Pod が同じ namespace にあることを確認してください。
Error from server (AlreadyExists)Secret が既に存在しており、kubectl create では上書きされません。何度でも安全に実行できるよう、コマンドを kubectl apply にパイプしてください。
Secret を decode すると auths ブロックが空になるDocker が認証情報を OS のキーチェーン(config.json の "credsStore")に保存しています。kubectl create secret docker-registry で直接 Secret を再作成してください。
password は正しいのに 401 が返るシェルが password 内の特殊文字を変更してしまいました。password を一重引用符で囲み、Secret を再作成してください。
Error from server (Forbidden)RBAC の権限が不足しています。kubectl auth can-i create secret -n <namespace> で確認してください。

参照: kubectl で imagePullSecret を作成する