トップ OSS紹介 Harbor

Harbor

NRIのOpenStandiaが提供するHarbor最新情報

バージョンアップ情報

Harbor情報

Harborとは

Harborは、VMwareによって開発されたオープンソースのプライベートコンテナレジストリで、Docker Registryのように、コンテナイメージを管理するための機能を実装したレジストリです。
通常Dockerを利用する場合は、docker コマンドでNginxやbusyboxなどのコンテナイメージをデプロイします。このイメージの取得先がレジストリで、デフォルトではDocker Hubから取得してきています。
しかし、Docker Hubはパブリックなレジストリであるため、セキュリティ的にアクセス出来ない場合や、企業のプロジェクトで作成するような独自のコンテナイメージをアップロードするには適さない場合があります。
Harborはこのような問題の解決するため、クローズドな環境で利用されることを前提とした、プライベートレジストリとしての様々な機能を提供しています。
そもそもHarborは、2014年にVMwareがイメージ利用におけるセキュリティ体制の強化やコンプライアンスの遵守を目的として開発が開始されました。
2016年にオープンソース化され、2018年にはKubernetesなどの開発をホストするCloud Native Computing Foundation(CNCF)のプロジェクトの1つとして採用され、2020年にプロジェクトを卒業しました。

主な特徴

クラウドネイティブレジストリ

HarborはコンテナイメージとHelmチャートの両方をサポートし、コンテナランタイムやオーケストレーションプラットフォームなどのクラウドネイティブ環境のレジストリとして機能します。

ロールベースのアクセス制御管理 (RBAC)

ユーザやプロジェクト毎に、公開するコンテナイメージや操作を制御することが可能です。

ポリシーベースのレプリケーション

フィルタ(リポジトリ、タグ、ラベル)を使用したポリシーに基づいて、サーバを跨いだ複数のレジストリインスタンス間でイメージを複製することで、負荷分散や高可用性を実現します。

LDAP/ADのサポート

ADやLDAPなどのユーザ管理システムを使用している場合、そのシステムをHarborに統合して、RBACに使用することが可能です。

ストレージの柔軟性

S3やGoogle Cloud Storage、Azure Blob Storageなどの多様なストレージバックエンドに対応しています。

脆弱性スキャン

リポジトリ内のコンテナイメージに対して定期的に脆弱性のスキャンを実施し、脆弱なイメージが展開されることを防ぎます。

OIDCサポート

HarborはOpenID Connect(OIDC)を利用して、Keycloakなどの外部認証サーバからHarborポータルへのシングルサインオン(SSO)を実現することが可能です。

イメージの削除とガベージコレクション

管理者はジョブを実行して、イメージを削除し、そのスペースを定期的に解放することができます。

グラフィカルなユーザポータル

ユーザはHarborポータル(WebUI)を介して、リポジトリの参照、検索、プロジェクト管理を行うことができます。

監査

リポジトリへの全ての操作は、WebUIやログを介して、監査、追跡することが可能です。

RESTful API

管理操作を容易にするためにRESTful API が提供されており、外部システムとの統合に簡単に使用できます。API の調査とテストには、組み込みの Swagger UI を使用できます。

簡単なデプロイ

Docker Compose と Helm Chart 経由でデプロイできます。
最近 Harbor Operator を使用してのデプロイも追加されました。

動作環境

オペレーティングシステムとDocker

Harborは複数のDockerコンテナとしてデプロイされます。そのため、Dockerをサポートしている任意のLinuxディストリビューションにデプロイすることができます。ホストにはDockerとDocker Composeのインストールが必要です。

ハードウェア

以下の表は、Harborをデプロイするため最小構成と推奨構成になります。

リソース

最小構成

推奨構成

CPU

2CPU

4CPU

メモリ

4GB

8GB

ディスクサイズ

40GB

160GB

ソフトウェア

以下の表は、ホストにインストールする必要があるソフトウェアとそのバージョンです。

ソフトウェア

バージョン

説明

Docker engine

Version 20.10.10.0-ce+ 以上

インストール方法については、Doker Engineのドキュメントを参照してください

Docker Compose

Version 1.18.0+またはVersion 2

インストール方法については、Doker Composeのドキュメントを参照してください

Openssl

Latest

Harborの証明書と鍵を生成するために使用します。

ネットワークポート

Harborを利用するためには、ホストで以下のポートが開いている必要があります。

ポート

プロトコル

説明

443

HTTPS

HarborポータルとコアAPIは、このポートでHTTPSリクエストを受け付けます。このポートは設定ファイルで変更できます。

4443

HTTPS

HarborのDocker Content Trustサービスへの接続のために利用します。Notaryが有効になっている場合のみ必要です。このポートは設定ファイルで変更できます。

80

HTTPS

HarborポータルとコアAPIは、このポートでHTTPリクエストを受け付けます。このポートは設定ファイルで変更できます。

Harborのライセンス

Harborのライセンスは、「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • Rancher
    サポート対象

    Rancher

    ランチャー。Rancher Labsが主導となって開発しているKaaS(Kubernetes-as-a-Service)を実現するプロダクトで、Multi-Cluster Kubernetes Management を行うためのOSSです。

  • Kubernetes
    サポート対象

    Kubernetes

    クーバネティス。Dockerをはじめとするコンテナ化されたアプリケーションの展開、スケーリング、管理を行うオープンソースのプラットフォームです。

  • Helm
    サポート対象

    Helm

    ヘルム。Kubernetesクラスタのためのパッケージマネージャで、Kubernetes向けパッケージマネージャとして現在最も人気のある製品となっています。

  • Docker
    サポート対象

    Docker

    ドッカー。ソフトウェアコンテナを用いたアプリケーションのデプロイメントを自動化する仮想化オープンソースソフトウェアです。

オープンソースに関する様々な課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。