Harbor は OSS の container registry でありながら、vSphere with Tanzu に内蔵したり、TKG の付帯 package で提供されたりする Tanzu と相性が良い registry です。
vSphere with Tanzu の場合は workload cluster の有効化によって Harbor が自動的に展開されるし、TKG の場合、tanzu cli package 使えば、workload cluster に1ステップで構成することは可能ですが、他の場合は手動で Harbor を構成する必要があります。
構成方法も例えば Helm を使って K8S にデプロイする方法もありますが、今回は一番シンプルに Harbor official docs に従って、VM として立ててみます。
準備
Harbor Server の要件は下記のようです。
ハードウェア
ソフトウェア
今回の OS は Ubuntu 20.04.3 を使っています。
Docker Engine / Docker Compose のインストールは
Docker Engine Documentation / Docker Compose Documentation を参照しながら行いました。
オンラインインストールを実施する場合、インターネットへのアクセスが必要です。
ダウンロード
Harbor Release Page からダウンロードします。
オンラインとオフライン両方のパッケージがあります。今回はオンラインのパッケージをダウンロードします。
インストール
ダウンロードしてきたパッケージを解凍すると、harbor のフォルダーに harbor.yml とのファイルがあります。
これはインストールの設定ファイルとなります。まずはこちらのファイルを編集します。
必須項目として
hostname: 外部からアクセスする際の FQDN / IP
http: http ポート
https: https ポートと証明書
harbor_admin_password: Harbar の admin user のパスワード
database: DB パスワード等
data_volume: データ保存用ディレクトリ、デフォルトは /data を使います
https 証明書は self signed cert でも問題ないです。作り方はこちら Openssl self signed cert Blog をご参照ください。
他に proxy server などの設定もありますが、今回は default のままにしています。
harbor.yaml ファイルが用意出来たら、harbor フォルダー内の install.sh スクリプトを実行します。
$ sudo ./install.sh
[Step 0]: checking if docker is installed ...
Note: docker version: 20.10.12
[Step 1]: checking docker-compose is installed ...
Note: docker-compose version: 1.29.2
[Step 2]: preparing environment ...
[Step 3]: preparing harbor configs ...
...
? ----Harbor has been installed and started successfully.----
Harbor にアクセスみます
インストールが完了後、ブラウザーからアクセスしてみます。
ユーザ:admin
パスワード:harbor.yml に設定した値
Harbor の使い方等は今後書いていきます。