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 のユースケースを詳しく見る

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

推薦する

なぜあなたのウェブサイトの記事は掲載されていないのですか?王奇は100%明確な分析を持っています

1. 概要現在、多くのウェブマスターのウェブサイトは適切にインクルードされていないか、ウェブサイトの...

コンテンツマーケティングではコンテンツの最適化を学ぶ必要がある

従来のブログ マーケティング、フォーラム マーケティング、または現在人気のソーシャル ネットワーク ...

成都の有名なWeiboは2年間で40万人近くのフォロワーを獲得したが、運営開始2年で依然として赤字

ファンを集めて広告を掲載するWeiboマーケティングが増加中現在、数百万人のフォロワーを持つWeib...

Hadoop 分散ファイルシステム (HDFS) の誕生

1. 試してみる張大鵬さんはインターンシップの仕事を見つけました。仕事の初日、ビル氏は彼にログ分析と...

onetechcloud: すべての VPS が 20% オフ、最低 64 元/四半期、香港 cn2 vps、米国 cn2 gia vps (100G 以内の攻撃は数秒で解決可能)

onetechcloud は最新の 6 月の VPS プロモーションをリリースしました。香港 cn2...

劉強東からマーケティングを学ばなければ、英雄になるのは無駄だ

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますマーケティ...

企業のマイクロブログ運営者が犯すよくある間違い

現在、多くの企業がWeiboプロモーションの重要性を認識し、この新しいツールの助けを借りて自社のマー...

ウェブマスターがブログを書き続けるべき理由と、それを継続するべき理由を説明する 6 つの側面。

偶然、Liu Weipeng 氏の「なぜブログを書くべきか (これから)」というブログ記事を目にし、...

contabo: GPU サーバー (NVIDIA L40S、A100、A40、A16)、最大 16 台の同時サーバー、月額 27.5 ドルから、ドイツのデータ センター

2003 年に設立されたドイツのコンピューター ルーム Contabo が、GPU クラウド サービ...

エッジコンピューティングとブロックチェーンが出会うとき

[[312914]]序文ガートナーは、2020 年のトップ 10 戦略的テクノロジ トレンドの中で、...

Dreamweaver SEO: 内部リンクを本当に自動化する方法と、自動内部リンクのバグを解決する方法

最近、ウェブサイトを改訂し、Deamweaver 5.7 のバージョンを採用しました。記事を自動的に...

OnraHost - $5.5/Xen/1G メモリ/3CPU/50gSSD/2T トラフィック/ロサンゼルス/QuadNet

OnraHost.com は実際に以前にも安価な VPS をリリースしたことがありますが、いつも中途...

100TB - サーバー/ソフトレイヤー コンピュータ ルーム/100T トラフィックの 30% 割引

100tb.com は30% 割引コード 30OFFをリリースしました。割引コードを使用すると、専用...

ウェブマスターネットワークニュース:「漂流ボトル」は、オンライン詐欺と共同で戦うためにインターネット企業によって登録されました

1. 余額宝登録の余波:早ければ今週中にも完了する可能性6月13日の発売以来10日間で、余額宝はさま...