Docker Hubのようにコンテナイメージを格納し、Dockerにてイメージをダウンロード(Pull)して利用できるようにするサービスをコンテナリポジトリと呼ぶ。
コンテナレジストリの「Harbor」は、OSSのコンテナレジストリであり、自宅検証環境にプライベートのコンテナレジストリを構築することができる。
↓コンテナレジストリ「Harbor」のインストール手順はこちら。
本記事では、コンテナレジストリ「Harbor」バージョンアップ手順を記載する。
環境
Harbor自体はDockerコンテナとして動作する。Harbor及びDockerが動作するOSとしてはAlmaLinuxを使用した。
- OS : AlmaLinux release 8.10
- Docker : 20.10.21
- Docker Compose : v2.12.2
- Harbor : v2.8.0→v2.11.1
今回の作業の簡単な概要図を以下に記載する。
バージョンアップ手順
1. アップグレードパスを確認
Harborはアップグレードパスが存在し、場合によっては段階的にバージョンアップ作業を行う必要がある。
アップグレードパスは残念ながらマニュアル等でまとまったページはないため、各バージョンアップ手順の記述を見て判断する必要がある。
今回の場合は、v2.8→v2.11のバージョンアップとなるので、まずはv2.11のマニュアルを確認する。
This guide covers upgrade and migration to v2.11.0. This guide only covers migration from v2.9.0 and later to the current version. If you are upgrading from an earlier version, refer to the migration guide for an earlier Harbor version.
上記の記載にあるように、v2.9.0以降であれば直接バージョンアップができるが、そうでない場合は、古いバージョンのマニュアルを見ること、と記載されている。
次にv2.9のマニュアルを確認する。
This guide covers upgrade and migration to v2.9.0. This guide only covers migration from v2.7.0 and later to the current version. If you are upgrading from an earlier version, refer to the migration guide for an earlier Harbor version.
こちらはv2.7.0以降であれば直接バージョンアップできる。今回はv2.8からのバージョンアップとなるので、アップグレードパスは「v2.8→v2.9→v.211」となることが確認できた。
2. インストーラの入手
Harborのインストーラは、オンラインインストーラとオフラインインストーラの2種類が用意されている。今回はオフラインインストーラを用いる。ダウンロードは以下URLからダウンロードすることができる。
今回の場合は、以下2つのファイルをダウンロードした。
- harbor-offline-installer-v2.9.5.tgz
- harbor-offline-installer-v2.11.1.tgz
3. Harbor停止
まず、起動中のHarborを停止する。
cd ~/harbor/
docker compose down
4. バックアップ
現在のバージョンのHarborの設定ファイルとデータベースのバックアップを行う。
cd ~
mkdir backup_2.8
mv harbor backup_2.8/harbor_2.8
cp -r /data/database ~/backup_2.8/
5. 新バージョンのファイルを展開
ダウンロードしたインストーラを展開し、インストーラに含まれるDockerイメージをロードする。
tar zxf harbor-offline-installer-v2.9.5.tgz
docker image load -i harbor/harbor.v2.9.5.tar.gz
6. 設定ファイルをマイグレーション
設定ファイル(harbor.yml
)をマイグレーションする。
ls -l ~/backup_2.8/harbor_2.8/harbor.yml
cp ~/backup_2.8/harbor_2.8/harbor.yml ~/harbor
docker run -it --rm -v /:/hostfs goharbor/prepare:v2.9.5 migrate -i ~/harbor/harbor.yml
実際の実行結果は以下となる。
# docker run -it --rm -v /:/hostfs goharbor/prepare:v2.9.5 migrate -i ~/backup_2.8/harbor_2.8/harbor.yml
migrating to version 2.9.0
Written new values to /root/harbor/harbor.yml
7. 新バージョンインストール
以上で準備が整ったので、新バージョンのHarborをインストールおよび起動する。インストールはinstall.sh
を実行して実施する。
cd ~/harbor
./install.sh
8. ターゲットバージョンとなるまで、手順3~7を繰り返す
ターゲットバージョンとなるまで、手順3~7を繰り返す。バージョンが変わるため、フォルダパスやインストーラのファイル名の読み替えは必要となるが、手順に変更はない。
以下、参考情報として、v2.9→v2.11へのバージョンアップ手順を記載する。
cd ~/harbor/
docker compose down
cd ~
mkdir backup_2.9
mv harbor backup_2.9/harbor_2.9
cp -r /data/database ~/backup_2.9/
tar zxf harbor-offline-installer-v2.11.1.tgz
docker image load -i harbor/harbor.v2.11.1.tar.gz
ls -l ~/backup_2.9/harbor_2.9/harbor.yml
cp ~/backup_2.9/harbor_2.9/harbor.yml ~/harbor
docker run -it --rm -v /:/hostfs goharbor/prepare:v2.11.1 migrate -i ~/harbor/harbor.yml
cd ~/harbor
./install.sh
以上で、コンテナレジストリ「Harbor」バージョンアップ手順は完了となる。
0 件のコメント:
コメントを投稿