バージョンアップ情報
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 経由でデプロイできます。 |
動作環境
オペレーティングシステムと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 Labsが主導となって開発しているKaaS(Kubernetes-as-a-Service)を実現するプロダクトで、Multi-Cluster Kubernetes Management を行うためのOSSです。
-
サポート対象
Kubernetes
クーバネティス。Dockerをはじめとするコンテナ化されたアプリケーションの展開、スケーリング、管理を行うオープンソースのプラットフォームです。
-
サポート対象
Helm
ヘルム。Kubernetesクラスタのためのパッケージマネージャで、Kubernetes向けパッケージマネージャとして現在最も人気のある製品となっています。
-
サポート対象
Docker
ドッカー。ソフトウェアコンテナを用いたアプリケーションのデプロイメントを自動化する仮想化オープンソースソフトウェアです。