オープンソース コンテナ イメージ レジストリである Harbor がバージョン 2.0 に到達し、Open Container Initiative (OCI) イメージ仕様を完全にサポートする最初のオープンソース レジストリになりました。
コンテナ化されたアプリケーションを起動するための青写真を表すコンテナ イメージや、Helm チャート、OPA (Open Policy Agents)、その他の構成関連ファイルなどの関連メタデータを記述するその他のクラウド アプリ成果物を保存できるレジストリは数多くあります。
おそらく最もよく知られているのは、オープンソースの Docker Registry と、そのコードのホスト型実装である Docker Hub です。
SUSEが開発したDocker Registryの認証サーバー兼フロントエンドであるPortusもあります。また、Alibaba Container Registry、Amazon Elastic Container Registry (ECR)、Azure Container Registry、GitLab Container Registry、Google Container Registry、Red Hat Quayといったクラウドプロバイダーからも、様々な商用サービスが提供されています。
HarborはVMwareによって開発され、2018年にCloud Native Computing Foundationの監督下に置かれました。VMwareの製品管理ディレクターであり、Harborのメンテナーでもあるマイケル・マイケル氏は、The Registerとのインタビューで、Harborは独自のコンテナイメージレジストリを運用したい数千の企業組織で使用されていると述べています。
OCI は、アプリケーションを構築するためのイメージ仕様と、アプリケーション環境を作成するためのランタイム仕様を定義します。
したがって、Harbor の OCI 準拠は、Harbor レジストリに保存できるものを定義するための API の完全なセットをサポートすることを意味します。
「コンテナイメージの外観とデプロイ方法を記述する方法が増えました」とマイケル氏は述べた。「OCI準拠のレジストリに、重要なクラウドネイティブ成果物をすべて保存できるようになります。」
これらのクラウドネイティブ アーティファクトにより、ポリシー ルールを適用して、コンテナが安全に処理されるようにすることが可能になると説明しました。
バージョン 2.0 では、注目すべき機能がいくつか追加されています。
例えば、HarborはOCIイメージインデックス仕様をサポートするようになりました。これにより、インデックスを介してプラットフォーム固有のイメージバージョンを宣言できます。また、KubernetesパッケージマネージャーであるHelmのチャートは、Chart Museumと呼ばれるHelm固有のリポジトリに個別に保存するのではなく、Helm v3を使用してHarbor内に保存できるようになりました。
AWSがFargateサーバーレスコンテナを刷新、でも待ってください – Docker Engineはどこ? ああ、「不要とみなされた」
続きを読む
また、Harbor に保存されたイメージの脆弱性を探す Clair イメージ スキャナーも置き換えられますが、引き続きサポートされます。
「Aqua のイメージ スキャナー Trivy をすべてのプロジェクトのデフォルトのスキャナーにします」と Michael 氏は語りました。
バージョン2.0では、システム全体にわたる単一の設定ではなく、個々のロボットアカウントに有効期限を設定できるようになりました。また、HarborサービスでSSLを使用するように設定できる機能も導入され、セキュリティが大幅に向上しました。
また、Webhook (API コールバック) を個別にトリガーする機能も追加されているため、ユーザーはプロジェクトごとに HTTP または Slack を対象に設定できます。
マイケル氏によると、2.0アップデートは、Harborにおけるコンテナイメージのガベージコレクション処理の将来的な改善のための基盤となるとのことです。コンテナは削除が必要なファイルを大量に生成します。Dockerモデルのガベージコレクションはダウンタイムが発生するため、スケーラブルではないと彼は述べています。Harborは現在、イメージ内のすべてのレイヤーを追跡しており、将来的にはダウンタイムなしでガベージコレクションを処理できるようになります。®