概要
DRA(Dynamic Resource Allocation)のe2eテストがエアギャップ(インターネット非接続)環境や、テストイメージをプライベートレジストリに置いている環境で正常に動作しない問題が修正されました。
- PR: #138318
- 作者: Jan Šafránek (@jsafrane)
- サイズ: 1行の変更(+1/-1)
- 変更ファイル:
test/e2e/testing-manifests/dra/dra-test-driver-proxy.yaml
背景・前提知識
DRA(Dynamic Resource Allocation)とは?
Kubernetes 1.26 で導入された、GPU・FPGA・InfiniBandアダプタなどの特殊ハードウェアリソースを動的に割り当てる仕組みです。従来の「整数のリソース数」(nvidia.com/gpu: 1)より細かい制御が可能で、デバイスの属性やトポロジーを考慮した割り当てができます。
エアギャップ環境とは? セキュリティ要件の高い環境では、インターネットへのアクセスを完全に遮断したクラスター(エアギャップ環境)を構築します。この場合、Docker Hub などの外部レジストリにアクセスできないため、すべてのコンテナイメージをプライベートレジストリに配置する必要があります。
テストマニフェストのイメージ参照形式の問題とは?
コンテナイメージは image:tag(例: nginx:latest)または registry/image:tag(例: registry.k8s.io/pause:3.9)の形式で指定します。エアギャップ対応のテストフレームワークは、イメージ参照を自動的にプライベートレジストリのアドレスに書き換えます。しかし、この書き換え処理はイメージ参照が name:tag の形式になっていることを前提としており、タグなし・スキーマなしの参照では正しく処理できない場合がありました。
詳細:変更内容
変更は DRA テストドライバープロキシの Kubernetes マニフェスト(test/e2e/testing-manifests/dra/dra-test-driver-proxy.yaml)における1行のイメージ名修正です。
問題: テストマニフェスト内のイメージ参照がエアギャップ対応の書き換え処理で正しくパースされない形式になっていました。
修正: イメージ参照を name:tag の完全な形式(例: registry.k8s.io/e2e-test-images/dra-test-driver-proxy:1.0)に修正することで、書き換え処理が正常に機能するようになりました。
これにより、プライベートレジストリを使う環境でも DRA の e2e テストを実行できるようになります。
影響
対象: Kubernetes コントリビューター・CI/CDエンジニア(エンドユーザーへの直接の影響はなし)
- 社内クラスターで DRA の動作確認テストを行いたいチームが、プライベートレジストリ環境でもテストを実行できるようになります
- エアギャップ環境でのKubernetes開発・テスト環境の整備が改善されます