バージョンの変更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
$ 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の証明書を発行します。 $ 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
写真 $ 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 に証明書を発行します。 デフォルトのリクエスト ファイルを作成するには、次のコマンドを使用しますが、一部のデフォルト パラメータを変更する必要があります。 $ 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 は要求ファイルを使用して、構成に従って 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 |