免責事項:これは英文の記事「Fluent-bit Package Reconciliation Fails with ImagePull Error and “Unknown Blob” Message in Tanzu Kubernetes Grid Service with Harbor Registry」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
この記事では、Tanzu Kubernetes Grid (TKG) 環境で Fluent Bit パッケージのリコンサイルが保留状態のままになる問題について説明します。根本原因は、Harbor コンテナレジストリにイメージレイヤーが見つからないことが原因で、パッケージのデプロイ中にイメージのプルに失敗していました。
問題
Fluent Bit パッケージが保留状態のままになり、リコンサイルに失敗しました。
確認された動作
Fluent Bit ポッドが起動に失敗しました。
イメージのプルを試行すると、イメージレイヤーが見つからないというエラーが返されました。
crictl pull を使用した手動イメージのプルも、BLOB_UNKNOWN および記述子が見つからないというエラーで失敗しました。
crictl pull などのコンテナランタイムを使用して手動でイメージをプルしようとしたところ、次のエラーが発生しました:
コピーに失敗しました: httpReadSeeker: オープンに失敗しました: リモートから記述子 sha256:###### (application/vnd.docker.image.rootfs.diff.tar.gzip) を取得できませんでした: 見つかりません
Fluent Bit パッケージに必要な重要なイメージレイヤーが Harbor レジストリに存在しませんでした。イメージマニフェストと一部のレイヤーは存在していました。
推奨される修復手順:
1. イメージの新規コピーをプルする
公開レジストリから正しいイメージを取得する。
2. Harborから破損したイメージを削除する
今後のプル試行が失敗しないように、Harborレジストリから不完全または破損したイメージを削除する。
3. Harborに新規イメージをプッシュする
すべてのレイヤーが存在することを確認した上で、完全なイメージを再アップロードする。
4. パッケージリポジトリの参照を更新する
Fluent Bitパッケージが正しく完全なイメージを参照していることを確認する。
5. Fluent Bitパッケージのインストールを再試行する
パッケージのデプロイを再開し、リコンシリエーションが成功したことを確認する。
Fluent Bit パッケージのデプロイメントの詳細については、Broadcom の公式ドキュメントを参照してください: workload-packages-packages-fluentbit-mc