HelmはHarborに保存されたチャートに基づいてサービスを迅速に公開します

HelmはHarborに保存されたチャートに基づいてサービスを迅速に公開します

概要

Harbor はバージョン v1.6 で Helm Chart リポジトリ機能のサポートを開始したため、別の Helm Chart システムを展開しなくても Harbor を使用してイメージと Helm Chart を同時に管理できるようになりました。 Harbor では、チャート リポジトリは ChartMuseum によってプラグインとして提供されており、インストールするかどうかを選択できます。

ChartMuseum: OCI に準拠していない Helm Charts を管理するための API を提供します。 ChartMuseum コンポーネントをインストールした後、ユーザーが「helm」コマンドを使用して Chart を Harbor にプッシュまたはプルすると、Harbor の Core コンポーネントが最初にリクエストを受信し、検証後に Chart ファイルの読み取りと書き込みのためにリクエストを ChartMuseum に転送します。

OCI 仕様と互換性のある Helm Charts がコミュニティで広く受け入れられるようになったため、Helm Charts はアーティファクトの形式で Harbor に保存および管理できるようになり、ChartMuseum に依存する必要がなくなりました。したがって、Harbor は今後のバージョンで ChartMuseum のサポートを削除します。

廃止されたとはいえ、Harbor をチャートの保存に使用できないという意味ではありません。代わりに、OCI チャートに置き換えられます。

  • Chartmuseum は v2.6.0 で非推奨となり、v2.8.0 で削除されました。詳細については、ディスカッションを参照してください: https://github.com/goharbor/harbor/discussions/15057 公証人 (署名者とサーバー) は v2.6.0 以降非推奨となり、v2.8.0 で削除されます。詳細については、ディスカッションをご覧ください: https://github.com/goharbor/harbor/discussions/16612
  • Helm Chart の保存をサポートするには、Harbor のバージョンが 1.6+ から 2.8.0 である必要があります (私は 2.6.2 を使用しています)。
  • デフォルトでは、Harbor の新しいバージョンではチャート リポジトリ サービスが有効になりません。 Harbor をインストールするときに、--with-chartmuseum パラメータを指定する必要があります。
  • プロジェクト chartrepo (パブリック プロジェクト) を作成します。

環境説明

Harbor バージョン: 2.6.2 Harbor アドレス: https://192.168.2.30:443 デプロイメント パス: /app/harbor 証明書の場所: /app/harbor/ssl/

Chartmuseum コンポーネントのインストール

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

absolute_url パラメータで ChartMuseum コンポーネントを使用する場合、クライアントが取得した Chart の index.yaml に含まれる URL が絶対パスであるかどうか。この項目が構成されていない場合、ChartMuseum コンポーネントは相対パスを返しますが、これはデフォルトで無効になっています。

 $ vim ハーバー.yml
チャート:
# absolute_url の値を enabled に変更すると、チャート内の絶対 URL が有効になります
absolute_url :有効

有効にすると絶対パスが使用されます。

2.2 ストップハーバー

 $ docker-compose を停止します

2.3 注入構成

./prepare を実行して、新しい構成を各コンポーネントに挿入します。

 $ ./準備

2.4 ChartMuseumのインストール

install.sh を実行する際に、--with-chartmuseum パラメータを使用してチャート プラグインをインストールすると、インストール後に Harbor が自動的に起動します。

 $ ./install .sh --with-notary --with-trivy --with-chartmuseum
----Harbor が正常にインストールされ、起動されました。---- # この情報を出力すると、インストールが成功したことを意味します

2.5 コンポーネントのサービスステータスを確認する

docker-compose ps コマンドを実行すると、harbor コンポーネントに追加の chartmuseum コンテナがあることがわかります。

 $ docker - psを作成

2.6 chartmuseumコンポーネントがインストールされていることを確認する

Harbor UI管理インターフェースにログインします: [プロジェクト] ==> [ライブラリ] ==> [Helm Charts]

helm-pushプラグインをインストールする

準備したチャート パッケージは Harbor UI インターフェイスを介して Harbor に直接アップロードできますが、コマンド ラインを介してチャートをアップロードおよびダウンロードするには、helmpush プラグインをインストールする必要があります。

通常、helm がインストールされていることを前提として、この操作は Kubernetes のマスター ノードで実行されます。

3.1 オンライン直接インストール

 $ helmプラグインをインストールhttps://github.com/chartmuseum/helm-push
helm - push v0.9.0ダウンロードインストール...
https://github.com/chartmuseum/helmpush/releases/download/v0.9.0/helmpush_0.9.0_linux_amd64.tar.gz
インストールされたプラグイン: push
$ helmプラグインリスト
名前 バージョン 説明
cm - push 0.10 .3チャートパッケージをChartMuseumにプッシュ
$ls /ルート/ .local / share / helm /プラグイン/ helmpush / bin / helmpush
/root/.local/share/helm/plugins/helm - push / bin / helmpush

ChartパッケージをHarborにアップロードする

4.1 Harbor UI にチャートをアップロードする

Harbor管理インターフェースにログインし、チャートパッケージをアップロードするプロジェクトを入力し、[Helm Charts]を選択し、[Upload]ボタンを選択して、ローカルコンピュータで作成したチャートパッケージをHarborにアップロードします。

次に[アップロード]をクリックします。

4.2 コマンドライン経由でチャートをアップロードする

1) テスト用のチャートパッケージをダウンロードする

 $ helm リポジトリリスト
名前 URL
ビットナミhttps://charts.bitnami.com/bitnami
ali -インキュベーターhttps://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/
$ helm 検索リポジトリ bitnami |- 2
名前 チャートバージョン アプリバージョン 説明
bitnami / airflow 14.0 .13 2.5 .1 Apache Airflow は、... を表現し実行するためのツールです
$ ヘルム プル ビットナミ/エアフロー
$ ls
エアフロー- 14.0.13.tgz

2) Harborリポジトリを追加する

  • https関連の証明書をコピーする
 $ scp 192.168 .2 .30 : /app/harbor/ssl/{ca.pem、harbor.pem、harbor-key.pem}./
  • リポジトリを追加
 $ helm repo add harbor - library https://192.168.2.30:443/chartrepo/library --username admin --password Harbor12345 \
--ca ファイル ca.pem --key ファイル harbor-key.pem --cert ファイル harbor.pem
「harbor-library」がリポジトリに追加されました

harbor-library: カスタムリポジトリ名; https://192.168.2.30:443/chartrepo/library はチャートの接続アドレスで、chartrepo は固定形式であり、「library」はチャートが配置されているプロジェクトの名前です。実際の環境に合わせて変更してください。 --username​: Harbor ユーザー名を指定します (ユーザーにはプロジェクト オブジェクトへの権限が必要です)。 --password​: パスワードを指定します。 --ca-file​: Harbor 証明書の発行者証明書。 --key-file​: Harbor の秘密鍵。 --cert-file: Harbor 証明書を指定します。

パラメータ

意味

Cfssl ツールのフォーマット

OpenSSL ツール形式

--caファイル

CA証明書

約 pem

ca.crt

--cert-file

証明書ファイル

港.pem

港.crt

--キーファイル

秘密鍵

ハーバーキー.pem


  • 追加が成功したかどうかを確認する
 $ helm リポジトリリスト
名前 URL
-ライブラリhttps://192.168.2.30:443/chartrepo/library

3) コマンドラインからパッケージ化されたアプリケーションをHarborにプッシュする

フォーマット: helm cm-push チャート パッケージ リポジトリ名

 $ helm cm -プッシュエアフロー- 14.0 .13 .tgzハーバー-ライブラリ \
--ca ファイル ca.pem --key ファイル harbor-key.pem \
--cert-file harbor.pem

4) アップロードが成功したかどうかを確認する

Harborをベースとした海図パッケージ公開サービス

Helmパッケージ管理ツールを使用して、Harborに保存されているチャートパッケージをKubernetesクラスターにデプロイします。

5.1 チャートの概要を表示

Harbor UI でチャート名をクリックすると、チャートの紹介、インストール、アンインストール、構成など、チャートの概要情報が表示されます。概要情報に基づいて、関連する管理コマンドを使用できます。

図5.1-1

図5.1-2

図5.1-3

5.2 Harborをチャートリポジトリとして追加する

追加されたコマンド形式:

 $ helm repo add --ca-file <caファイル> \
--cert-file <証明書ファイル> --key-file <鍵ファイル> \
--username <ユーザー名> \
--password <パスワード> <リポジトリ名> https://192.168.2.22/chartrepo/lidabai

1) 港湾関係証明書のコピー

ハーバー関連の証明書を、Helm が配置されているサーバー (通常は Kubernetes クラスターのマスター ノード) にコピーします。

 $ scp 192.168 .2 .30 : /app/harbor-cert/{ca.pem、harbor.pem、harbor-key.pem}./

2) 港のチャートリポジトリを追加する

 $ helm repo にmy - harbor https://192.168.2.22/chartrepo/lidabai追加します
--ユーザー名 admin --パスワード Harbor12345 \
--ca ファイル ca.pem --cert ファイル harbor.pem --key ファイル harbor-key.pem

出力:

 「my-harbor」がリポジトリに追加されました

追加が成功したことを示します。

3) 確認を表示

 $ helm リポジトリリスト
名前 URL
アリユンhttps://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
https://192.168.2.22/chartrepo/lidabai

5.3 出版サービス

 $ helm install --ca-file <CA ファイル> --cert-file <証明書ファイル> --key-file <キーファイル> \
--username=<ユーザー名> --password=<パスワード> --version 2.0.1 <リポジトリ名>/memcached
  • 検索チャート
 $ helm リポジトリを検索 my - harbor
名前 チャートバージョン アプリバージョン 説明
my - harbor / memcached 2.0 .1無料オープンソース高性能配布...
  • チャートのインストール
 $ helm インストール memcached -テスト \
--ca ファイル ca.pem --cert ファイル harbor.pem \
--key-file ハーバーキー.pem \
> --username=admin --password=Harbor12345 \
--バージョン 2.0.1 my-harbor/memcached

<<:  企業はどのように Harbor を活用して生産性を向上できるのでしょうか?

>>:  VMware は VMware Tanzu および VMware Aria プラットフォームを強化し、顧客のニーズを満たす最新のアプリケーションの開発と提供を加速します。

推薦する

Java 20周年: クラウドネイティブに対応

過去 10 年間で、企業の IT 環境は、大規模なモノリシック アプリケーションから、より軽量なモジ...

新しいサイトの迅速な追加に関する中核的な操作についての簡単な説明

新しいウェブサイトを検索エンジンに素早くインデックスさせるにはどうすればよいでしょうか。これは、多く...

エッジコンピューティングは IoT の状況をどのように変えているのでしょうか?

リアルタイムの更新と迅速な意思決定が求められる世界では、データ応答の遅延は煩わしいものになる可能性が...

新浪の数億ドルの投資はまだ利益を生んでおらず、微博の商業化は苦戦している

中国新聞社ITチャンネルによる地図中国新聞社、7月17日(ITチャンネル左盛丹) 課金するべきか、し...

#618# Henghost: 香港\日本\ロサンゼルス、クラウドサーバー28%オフ、スタンドアロンサーバー35%オフ、高防御保護30%オフ

henghost(恒創科技)は618年中旬特別キャンペーンを開始しました。今から6月30日まで、香港...

ウェブサイトユーザーの信頼を育み、顧客体験の3つの重要なポイントを把握する

ユーザーにとって、ユーザーを維持することよりも、ウェブサイトを信頼することの方が重要です。a5 をよ...

VMware は、アジア太平洋地域におけるイノベーションと変革をリードする顧客を表彰する Customer Achievement Awards を授与します。

VMware は本日、VMware のサービスとテクノロジーを活用して優れたイノベーションと変革を達...

タオバオに役立つ高品質のウェブサイトを見つける方法について話します

最近、私は深く感動しました。なぜでしょうか?タオバオアフィリエイトになることがますます難しくなってい...

NinjaHawk - Phoenix KVM VPS 30% オフ

NinjaHawk は設立されてからかなり経っており、Ninja Hawk というイメージを持ってい...

アカウントマネージャーとアカウントオペレーターの違いをご存知ですか?

ブログでは、アカウントレベルの操作に関する記事を多数更新しています。それらを注意深く読んだ友人は、多...

たった1元で数千のクラウドホストが利用可能! 21Vianetのプロモーション活動開始

21Vianet の 1,000 クラウド ホスト特典プロモーションが開始されました。たった1元でク...

クロスプラットフォームKOLエコシステムレポート

「一般」コンテンツは飽和傾向にある一方、「垂直」コンテンツは依然としてユーザー数の増加が著しい時期に...

質疑応答モードを通じてユーザーエクスペリエンスを向上させる利点について簡単に説明します。

ユーザー エクスペリエンスとは? Web サイトのユーザー エクスペリエンスは、特に 2013 年で...

ユーザーのニーズに基づかないSEOはフーリガンだ

5月4日頃、百度は大規模なアルゴリズムのアップグレードとアップデートを実施しました。百度のアルゴリズ...

ウェブマスターの考え: 強い需要は必ずしも拡大の成功を意味するわけではない

確かに高値で始まって安値で終わるというのは信じやすいと言っても過言ではありません。 NetEase ...