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 プラットフォームを強化し、顧客のニーズを満たす最新のアプリケーションの開発と提供を加速します。

推薦する

中国の SaaS は終焉を迎えたのか?

最近、中国のいくつかのスターSaaS企業が「困難な状況」にあると報告している。総合労務管理サービスプ...

Baidu Encyclopedia を効果的に活用してウェブサイトを宣伝する方法

百度自社製品の重みは明らかです。多くのウェブマスターが百度製品に取り組もうと奮闘しています。百度知識...

SEOサイト全体の最適化と従来のキーワード最適化の違い

サイト全体の最適化とはSEO 最適化は、ウェブサイト最適化とも呼ばれ、検索エンジンのランキング ルー...

モバイルインターネットコンテンツマーケティングの新しいルール

この記事では、ネイティブ広告がインターネットとモバイル インターネットにもたらした変化について説明し...

美しいウェブサイト最適化プランを作成する方法を共有する

優れたウェブサイト最適化計画を作成するには、オンサイト最適化とオフサイト最適化の 2 つの角度から検...

1兆ドル規模のエッジコンピューティング市場の「プレーヤー」は、2018年上半期に何をしたのでしょうか?

エッジコンピューティング市場の見通しと評価エッジ コンピューティングは、アプリケーション、データ、お...

Hosthatch Japan VPSレビュー、China UnicomとChina Mobileのユーザーも利用可能!

Hosthatch は日本の VPS サービスを提供しています。サーバーは日本の東京にあります。ハー...

フリーソフトウェアの父:「アップル、マイクロソフト、その他の企業は凶悪な犯罪を犯している」

「フリーソフトウェアの父」リチャード・ストールマン新浪テクノロジー 潘飛湖リチャード・ストールマンは...

検索エンジンがどのように変化しても、同じままです

中国では、Green Radish Algorithm であれ、オリジナルの Mars Projec...

張一鳴「芸能界に進出」

激しい競争を繰り広げる一方で、バイトダンスとテンセントの事業レイアウトはますます似通ってきています。...

ウェブサイトのキーワードを最適化するにはどうすればいいですか?

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

レイオフ、人員削減、冬季休業、クラウド コンピューティングに何が起こったのでしょうか?

過去 2 年間の人気と比較すると、クラウド コンピューティングの魔法は効果を失いつつあります。最近、...

機密情報ウェブサイトを宣伝するための実践的な方法

企業のウェブサイト最適化のための強力なリソースとしての分析情報ウェブサイトプロモーションは、多くのマ...