LoginSignup
0
0

Helm

Posted at

Helm の目的

Helm は、チャート と呼ばれる Kubernetes パッケージを管理するためのツールです

  • 最初から新しいチャートを作成する
  • チャートをチャートアーカイブ (tgz) ファイルにパッケージ化する
  • チャートが保存されているチャートリポジトリを操作する
  • チャートを既存の Kubernetes クラスターにインストールおよびアンインストールする
  • Helm でインストールされたチャートのリリースサイクルを管理する

Helm の概念

  • Chart
    • Kubernetesアプリケーションを構築するための一種のパッケージで、パッケージをインストールすることで、Kubernetesクラスターにアプリケーションを簡単にデプロイできる
  • Config
    • コンフィグは、チャート内にある設定情報をまとめたもので、デプロイ時に必要な設定やパラメータが含まれ、環境に合わせたデプロイができる
  • リリースは、特定のコンフィグを適用してデプロイされたチャートが、Kubernetesクラスター上で実行されている状態

コンポーネント

Helm は、2つの異なる部分に実装される実行可能ファイルのこと

1.Helm クライアント

  • ローカルチャート開発
    • ローカル上でアプリケーションやサービスをKubernetesにデプロイするための準備作業をする
  • リポジトリの管理
    • チャートを公開したり、検索したり、取得したりするための場所を整理する
  • リリースの管理
    • チャートを使って新しいバージョンのアプリケーションをデプロイし、古いバージョンをアップグレードまたは削除する
  • Helm ライブラリとのインターフェース
    • HelmクライアントがHelmライブラリを介してKubernetesクラスターとやり取りし、アプリケーションのデプロイや管理をする
  • インストールするチャートを送信する
    • ユーザーが指定したチャートをKubernetesクラスターに送り、アプリケーションを展開する

2.Helmライブラリ
すべてのHelm操作を実行するためのロジックを提供し、Kubernetes APIサーバーと、以下の機能を提供する

  • Helmはチャートと構成情報を組み合わせて、アプリケーションのリリースを構築し、Kubernetesクラスターにデプロイする
  • Helmはユーザーが指定したチャートをKubernetesにデプロイし、その結果として生成されるリリースオブジェクトを提供する
  • Kubernetes APIを利用し、チャートのアップグレードとアンインストールをする

Helmクライアントとは独立したHelmライブラリは、Helmのロジックを包括しているため、異なる種類のアプリケーションやツールがHelmの機能を利用できる

実装

Helmクライアントとライブラリは、Go言語で記載されている

ポストレンダリング

マニフェストが生成された後に、ユーザーが必要に応じてその内容を変更したり、検証したりできる仕組み

続きはまたあとで、まとめようと思います

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0