Harbor v2.9.0 のバージョン変更とオフライン展開

Harbor v2.9.0 のバージョン変更とオフライン展開

バージョンの変更

1.1 更新内容

  • セキュリティ センターの管理者ユーザーは、スキャン済みおよび未スキャンのアイテムの数、リスクのあるアイテムと CVE の識別、複数の組み合わせ基準を使用した脆弱性の高度な検索機能など、貴重なセキュリティ情報にアクセスできるようになりました。
  • GC の機能強化により、詳細な GC 実行履歴を通じて可視性が向上し、並列削除が可能になり、GC トリガーが高速化されます。
  • OCI Distribution Spec v1.1.0-rc2 のサポート Harbor は OCI Distribution Spec v1.1.0-rc2 をサポートするようになり、参照としてシンボル署名と Nydus 変換のサポートが追加されました。
  • カスタム バナー メッセージ 管理者は、Harbor Web ページの上部に表示されるカスタム バナー メッセージを設定できるようになりました。これは、本番環境でも実用的な機能です。 Harbor の運用・保守時には、複数のプロジェクトのイメージが Harbor に保存されます。保存容量がいっぱいになった場合、管理者が画像をクリーンアップしなくても、ユーザーに画像をクリーンアップするように「通知」を発行できるため、重要な画像が誤って削除されることを防止できます。

図に示す関数の使用方法:

写真

  • クォータ更新プロバイダーは、イメージをプッシュする際のクォータ更新中に楽観的ロックに Redis を活用する新しいメカニズムを導入します。この機能を有効にして使用する手順については、https://github.com/goharbor/perf/wiki/Quota-Update のドキュメントを参照してください。
  • Notary の削除 バージョン v2.9.0 以降、Harbor のユーザー インターフェイスまたはバックエンドには Notary が含まれなくなりました。詳細については、こちらのページをご覧ください。

1.2 既知の問題

バージョン 20.10.10 より前の Docker を使用して Harbor 2.9.0 をオンライン/オフラインでインストールすると、Harbor データベース コンテナーを起動できないという問題が発生する可能性があります。この問題は追跡中です (#19141)。この特定の問題の詳細については、このページ (timescale/timescaledb-docker-ha#260) をご覧ください。

この問題を回避するには、オンライン/オフライン インストーラーで Harbor v20.10.10 を使用する場合は、Docker バージョンが 2.9.0 以上であることを確認することをお勧めします。

インストールと展開(オフライン)

複数のバージョンに適用され、オフライン インストールの手順は基本的に変更されていません。

2.1 ホストの初期化

① SELinuxとスワップを無効にする
$ sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
  • スワップを無効にする
$ sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab $ swapoff -a
② リポジトリソースの設定
$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo $ wget http://mirrors.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo $ yum clean all
③ docker-ceをインストールする
  • rpmパッケージをダウンロードしてインストールします
$ mkdir docker-ce $ yum install -y docker-ce --downloadonly --downloaddir=./docker-ce/ $ yum install -y rpm/*.rpm
  • Dockerを起動する
$ systemctl enable --now docker
  • dockerの設定を変更し、insecure-registriesパラメータの後にHarborアドレスとポートを入力します。
 $ cat /etc/docker/daemon.json { "registry-mirrors": ["http://127.0.0.1:65001"], "insecure-registries": ["192.168.2.19:443","134.194.15.150:1021"], "storage-driver": "overlay2", "exec-opts": ["native.cgroupdriver=systemd"] , "graph": "/dcos/data/docker", "log-driver": "json-file", "log-opts": { "max-size": "500m" } }
  • サービスを再起動する
$ systemctl daemon-reload && systemctl restart docker
④ docker-composeをインストールする

docker-composeのバージョンは1.18.0以上です

$ wget https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 $ mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose $ chmod +x /usr/local/bin/docker-compose $ docker-compose -v docker-compose version 1.29.2, build 5becea4c
⑤ カーネルパラメータを設定する

必要なカーネルパラメータを 3 つ設定します。その他のカーネルパラメータは自分で追加できます。

 $ modprobe br_netfilter #加载内核模块(临时) $ cat > /etc/sysctl.conf << EOF net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF $ sysctl -p

net.ipv4.ip_forward: ルーティング転送を有効にします (このパラメータが設定されていない場合、ホストを再起動したときにサービスの状態は正常ですが、サーバーにアクセスできません)

⑥ cfssl証明書ツールをインストールする(オプション)

https モードでは証明書が必要です。ここでは、cfssl を使用して Harbor に証明書を発行します。

バイナリ実行ファイルをダウンロードし、/usr/local/bin/ に配置して実行権限を付与します。

 $ wget -c https://github.com/cloudflare/cfssl/releases/download/v1.6.0/cfssl_1.6.0_linux_amd64 -O /usr/local/bin/cfssl $ wget -c https://github.com/cloudflare/cfssl/releases/download/v1.6.0/cfssljson_1.6.0_linux_amd64 -O /usr/local/bin/cfssljson $ wget -c https://github.com/cloudflare/cfssl/releases/download/v1.6.0/cfssl-certinfo_1.6.0_linux_amd64 -O /usr/local/bin/cfssl-certinfo $ chmod +x /usr/local/bin/cfssl* cfssl version Version: 1.6.0 Runtime: go1.18

2.2 HTTPS証明書の発行(オプション)

http モードではこの操作は必要ありません。セキュリティを確保するために、実稼働環境では https モードが推奨されます。

Harbor に証明書を発行するには cfssl を使用します。詳細については、記事をご覧ください:https://mp.weixin.qq.com/s/T9xug20FNU3zOodno5IwPA

① 証明機関証明書(CA)を生成する

独自のCA認証局を構築し、インストールしたcfsslツールを使用してHarborの証明書を発行します。

  • CAのデフォルト構成ファイルを生成および変更する
$ mkdir -p /app/harbor/ssl/ #创建证书存放目录$ cfssl print-defaults config > /app/harbor/ssl/ca-config.json #生成默认配置文件$ cat <<EOF > /app/harbor/ssl/ca-config.json { "signing": { "default": { "expiry": "87600h" }, "profiles": { "harbor": { "expiry": "87600h", "usages": [ "signing", "key encipherment", "server auth", "client auth" ] } } } } EOF

写真

  • デフォルトのCSRリクエストファイルを生成および変更する
$ cfssl print-defaults csr > /app/harbor/ssl/ca-csr.json $ cat <<EOF > /app/harbor/ssl/ca-csr.json { "CN": "harbor", "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "Beijing", "L": "Beijing" } ] } EOF

写真

  • CA証明書を初期化する
$ cfssl gencert -initca /app/harbor/ssl/ca-csr.json | cfssljson -bare /app/harbor/ssl/ca $ ls /app/harbor/ssl/ ca-config.json ca.csr ca-csr.json ca-key.pem ca.pem

現在のディレクトリに ca.csr、ca-key.pem、ca.pem という 3 つの新しいファイルが生成されていることがわかります。 ca-key.pem と ca.pem は CA 関連の証明書であり、この CA を通じて Harbor に証明書が発行されます。

写真

② CAが港湾局に証明書を発行

Harbor は、申請書に類似したリクエスト ファイルを使用して CA に証明書を申請し、CA は構成ファイル (証明書ポリシー) とリクエスト ファイル (申請書) に基づいて Harbor に証明書を発行します。

  • Harbor証明書要求ファイルの作成と変更

デフォルトのリクエスト ファイルを作成するには、次のコマンドを使用しますが、一部のデフォルト パラメータを変更する必要があります。

 $ cfssl print-defaults csr > /app/harbor/ssl/harbor-csr.json $ cat /app/harbor/ssl/harbor-csr.json { "CN": "harbor", "hosts": [ "127.0.0.1", "192.168.2.19", "lidabai.harbor.cn" ], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "BeiJing", "L": "BeiJing" } ] }

写真

  • CAがハーバーに証明書を発行

CA は要求ファイルを使用して、構成に従って Harbor に証明書を発行します。

 $ cfssl gencert -ca=/app/harbor/ssl/ca.pem \ -ca-key=/app/harbor/ssl/ca-key.pem \ -cnotallow=/app/harbor/ssl/ca-config.json \ -profile=harbor /app/harbor/ssl/harbor-csr.json | cfssljson -bare /app/harbor/ssl/harbor $ ls /app/harbor/ssl/ ca-config.json ca.csr ca-csr.json ca-key.pem ca.pem harbor.csr harbor-csr.json harbor-key.pem harbor.pem $ cp harbor.pem harbor-key.pem /app/harbor/ssl/

写真

インストール

①オフラインインストールパッケージをダウンロードする

$ export HARBOR_VERSION=2.9.0 #声明变量,指定版本号$ wget https://github.com/goharbor/harbor/releases/download/v$HARBOR_VERSION/harbor-offline-installer-v$HARBOR_VERSION.tgz $ tar -zxvf harbor-offline-installer-v$HARBOR_VERSION.tg z -C /app/ harbor/harbor.v$HARBOR_VERSION.tar.gz harbor/prepare harbor/LICENSE harbor/install.sh harbor/common.sh harbor/harbor.yml.tmpl

② 画像をインポートする

$ docker load -i harbor.v$HARBOR_VERSION.tar.gz

③設定ファイルを変更する

構成テンプレートを構成ファイルとしてコピーした後、構成パラメータを変更します。

 $ cp harbor.yml.tmpl harbor.yml $ vim harbor.yml hostname: lidabai.harbor.com http: port: 80 # 启用https https: port: 443 certificate: /app/harbor/ssl/harbor.pem #Harbor的证书private_key: /app/harbor/ssl/harbor-key.pem #Harbor的证书私钥metric: enabled: true #开启Harbor Metrics监控port: 9090 path: /metric

必要に応じて他の構成パラメータを変更します。

④ 負荷設定

インストールディレクトリで ./prepare を実行して、各コンポーネントの構成を読み込みます。

 $ ./prepare

写真

⑤ Harborをインストールして起動する

$ ./install.sh --with-trivy

写真

写真

✔というメッセージが表示されたら、インストールは成功したことを意味します。

サービス検証

3.1 サービスとコンポーネントのステータスの確認

$ docker-compose ps

写真

サービスは普通です!

Harbor UIにログイン

ブラウザにhttps://192.168.2.19:443と入力してください

写真

写真

写真

写真

ログインOKです!

参考文献

https://github.com/goharbor/harbor/releases

<<:  エッジコンピューティングの探究: Amazon と Facebook のユースケースを詳しく見る

>>:  クラウドとオンプレミスの長所、短所、ユースケース

推薦する

今後5年間の15の主要なテクノロジートレンド

私たちの生活、仕事、交流の仕方に革命をもたらす技術の進歩によって、未来は常に形を変えています。今後 ...

ゲームプランナーの分析: Honor of Kings はなぜ中毒性が高いのか?

女子大生はなぜ毎晩眠れないのでしょうか?なぜ「小学生」があちこちに現れるのか?なぜいつも5人の大男が...

オンライン教育スタートアップを悩ませる隠れた悩み:トラフィックとユーザーをいかに獲得するか

[要約] Baidu は Tencent Technology に対して、現在、教育に関する検索トラ...

#香港VPS# gigsgigscloud-6.9USD/windows/512MB RAM/300GBトラフィック/100MBポート

gigsgigscloud は本日、香港データセンターで Windows VPS を正式に開始しまし...

ブラジル サーバー: zenlayer、30% オフ、リオデジャネイロ/サンパウロ料金、10Gbps 帯域幅、月額 174 ドルから

ブラジル サーバー、独立した専用サーバー...ブラジルは現在、世界で非常に重要な市場であり、ブラジル...

高級品ウェブサイトは厳しい冬を迎える:3つのウェブサイトが閉鎖

数万元から数十万元もする高級ブランドに比べ、中高級市場に位置する数千元から数万元程度の軽奢品がホワイ...

SEO Baiduウェブマスタープラットフォームとの直接対話が再開

改良された Baidu Webmaster プラットフォームがリリースされました。インターフェースの...

Zynga の悩み: Facebook のゲーム プラットフォームは取り残されるのか?

北京時間2月26日、外国メディアの報道によると、市場調査会社IHSはブログ投稿で、ソーシャルネットワ...

100の超実用的なWeChatマーケティングスキル:パブリックアカウント、モーメンツ、WeChatマーケティング

現在、多くの人がマイクロマーケティングについて語っていますが、ほとんどの企業や個人はそれをどのように...

JiukuaiyouのデータはHao123の影響を示している

前回の記事では、Jiukuai MailがHao123に組み込まれるまでに半年かかりました。その時、...

Microsoft Messengerは3月15日に終了し、ユーザーはSkypeに移行される

マイクロソフトは本日、1億人を超えるメッセンジャーユーザーに電子メールを送信し、同サービスが2013...

ウェブマスターは常に利益を上げる準備をしておかなければならない

友人から、ブログガードの権限が最近低下したと聞きました。ブログのランクが下がる理由はいろいろあります...

AMD、クラウドコンピューティングレンダリング技術を使ったスーパーコンピュータを構築

カリフォルニア州ラスベガス、2009 年 1 月 9 日 (CES 2009) — 本日の国際コンシ...