概要
Harborは、オープンソースのコンテナイメージレジストリであり、イメージの格納、配布、アクセス制御、セキュリティスキャンなどの機能を備えています。本記事では、OceanBaseデータベースをHarborのメタデータベースとして使用してHarborサービスをデプロイする方法について説明します。
バージョン互換性
- Harbor:1.6.x以降のバージョンをサポートします(Harbor 1.6.xバージョンでOceanBaseをメタデータベースとして使用できることが検証済みです。Harbor 1.7.0以降のバージョンはPostgreSQLのみをサポートします)。
- OceanBaseデータベースのバージョン:≥ 4.2.5 BP2。
前提条件
Harborを使用する前に、次のことを確認してください:
- Dockerがインストール済みであること。インストールについては、Docker公式ドキュメントを参照してください。
- Docker Composeがインストール済みであること。インストールについては、Docker公式ドキュメントを参照してください。
- OceanBaseデータベースのデプロイが完了し、MySQLモードのユーザーテナントが作成されていること。テナント作成の詳細については、テナントの作成を参照してください。
- Harbor公式ドキュメント
手順
ステップ1:OceanBaseデータベース接続情報を取得する
OceanBaseデータベースのデプロイ担当者から接続文字列を取得します。例:
obclient -h$host -P$port -u$user_name -p$password -D$database_name
パラメータ説明:
$host:接続IPアドレス。ODP接続はODPアドレスを使用し、直接接続はOBServer IPを使用します。$port:接続ポート。ODPのデフォルトポートは2883、直接接続のデフォルトポートは2881です。$database_name:データベース名。注意
テナントに接続するユーザーには、データベースに対する
CREATE、INSERT、DROPおよびSELECT権限が付与されていなければなりません。ユーザー権限の詳細については、MySQLモードの権限分類を参照してください。$user_name:接続アカウント。ODP形式:ユーザー@テナント#クラスタまたはクラスタ:テナント:ユーザー。直接接続形式:ユーザー@テナント。$password:アカウントのパスワード。
接続文字列の詳細については、OBClientを使用してOceanBaseテナントに接続するを参照してください。
例:
obclient -hxxx.xxx.xxx.xxx -P2881 -utest_user001@mysql001 -p****** -Dtest
ステップ2:Harborサービスのインストール
本記事では、Harbor V1.4.0のインストールを例に説明します。操作は以下のとおりです:
インストーラーのダウンロード
wget https://storage.googleapis.com/harbor-releases/release-1.4.0/harbor-offline-installer-v1.4.0.tgz #インストーラーの解凍 tar -zxvf harbor-offline-installer-v1.4.0.tgz cd harbor/Harbor 1.4.0は、harbor.cfgを設定ファイルとして使用します。このファイルを編集し、OceanBaseデータベースの接続情報を設定します:
####################################### hostname = $harbor_host #The address of the Harbor database. Only need to change when using external db db_host = $host #The password for the root user of Harbor DB. Change this before any production use. db_password = $password #The port of Harbor database host db_port = $port #The user name of Harbor database db_user = $user_name #######################################パラメータ説明:
$harbor_host:Harborサービスのホストアドレス。$host:OceanBaseデータベースの接続IP。$port:OceanBaseデータベースの接続ポート。ODP接続の場合デフォルトポートは2883、OBServerへの直接接続の場合デフォルトポートは2881です。$user_name:OceanBaseデータベースのユーザー名。$password:OceanBaseデータベースのユーザーパスワード。
Harborデータベースの初期化
OceanBaseの接続文字列を使用してHarborデータベースを初期化します:
mysql -h$host -u$user_name -P$port -p$password < ha/registry.sql💡 ヒント ha/registry.sqlはHarborインストールパッケージに含まれる初期化スクリプトです。Harborの解凍ディレクトリでこのコマンドを実行してください。
Harborサービスの起動
インストールスクリプトを実行してHarborサービスを起動します:
sudo ./install.sh
ステップ3:Harbor管理画面にアクセスする
- ブラウザで
http://$harbor_hostにアクセスします。 - デフォルトの資格情報でログインします。デフォルトのユーザー名は
admin、パスワードはHarbor12345です。初回ログイン後、速やかにデフォルトのパスワードを変更してください。
結果の検証
デプロイが成功したら、以下のことができます:
- ブラウザでHarbor管理画面にアクセスする
- デフォルトの管理者アカウントでログインする
- プロジェクトを作成し、イメージのプッシュを試す
- ログインが成功し、プロジェクトを正常に作成できれば、HarborはOceanBaseメタデータベースに正常に接続されています。