トラブルシューティング
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 で手動実行してください。 |
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 に連絡してください。 |
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> で確認してください。 |