【Helm入門】Helm使ってみる

2021.12.12
2024.03.24
Kubernetes
Helm

はじめに

これからHelmを使ってみたい人に向けて、Helmとはどんなものなのかざっくり解説し、実際にローカルで動かしてイメージを掴んでみたいと思います。

Helmとは

Helmとは、Kubernetes用のパッケージマネージャーです。

ここでのパッケージ(チャートと呼ばれます)とは、Kubernetesクラスタでアプリケーションを動かすために必要なリソース一式というイメージです。つまり、Helmを使うことで簡単にKubernetesクラスタ上でアプリケーションを実行させることができます。

Helm

Helm

Helm - The Kubernetes Package Manager.

チャート・リポジトリ・リリース

Helmを利用する上で必要不可欠な3つの用語があります。

用語意味
チャートアプリケーションを実行するために必要なリソース定義のパッケージ
リポジトリチャートが保存されている場所
リリースKubernetesで実行されているチャートのインスタンス

チャートリポジトリからとってきて、インストールすることでKubernetes上でアプリケーションをリリースとして実行できます。

インストール

まずはHelm CLIをインストールします。

Macの場合は以下の通りです。

1brew install helm

Helm のインストール

Helm をインストールして実行する方法を学びます。

使ってみる

実際にローカルでWordpressのチャートをインストールし、Kubernetes上で動かしてみます。

リポジトリの追加

まずはリポジトリの追加をします。

今回は下記のチャートをインストールしたいので、https://charts.bitnami.com/bitnamiのリポジトリを追加します。

Helm Charts to deploy WordPress in Kubernetes

Helm Charts to deploy WordPress in Kubernetes

リポジトリの追加は下記の通りです。

1helm repo add bitnami https://charts.bitnami.com/bitnami

追加されたリポジトリを確認してみます。

1❯ helm repo list
2NAME    URL
3stable  https://charts.helm.sh/stable
4bitnami https://charts.bitnami.com/bitnami

また、リポジトリにあるチャートの一覧も見ることができます。

1❯ helm search repo bitnami
2NAME                                            CHART VERSION   APP VERSION     DESCRIPTION
3bitnami/bitnami-common                          0.0.9           0.0.9           DEPRECATED Chart with custom templates used in ...
4bitnami/airflow                                 11.1.11         2.2.2           Apache Airflow is a platform to programmaticall...
5bitnami/apache                                  8.9.6           2.4.51          Chart for Apache HTTP Server
6:
7:
8bitnami/wildfly                                 12.0.2          25.0.1          Chart for Wildfly
9bitnami/wordpress                               12.2.4          5.8.2           Web publishing platform for building blogs and ...
10bitnami/zookeeper                               7.5.0           3.7.0           A centralized service for maintaining configura...

チャートのインストール

実際にチャートをインストールしていきます。

まずはリポジトリの情報を最新にしておきます。

1helm repo update

下記でWordpressのチャートをインストールします。

1helm install bitnami/wordpress --generate-name

リリースの確認

実行しているリリースは下記で確認できます。

1❯ helm ls
2NAME                    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
3wordpress-1639287375    default         1               2021-12-12 14:36:19.182037 +0900 JST    deployed        wordpress-12.2.4        5.8.2

wordpress-1639287375という名前でリリースが実行されているのがわかります。

また、kubectlを使ってDeploymentやServiceを確認してみるとWordpressに関するリソースが作成されているのがわかります。

1❯ kubectl get deployment
2NAME                   READY   UP-TO-DATE   AVAILABLE   AGE
3wordpress-1639287375   1/1     1            1           2m5s
4
5❯ kubectl get service
6NAME                           TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
7wordpress-1639287375           LoadBalancer   10.111.135.27   localhost     80:31278/TCP,443:32106/TCP   2m10s
8wordpress-1639287375-mariadb   ClusterIP      10.96.204.66    <none>        3306/TCP                     2m10s

実際にブラウザからhttp://localhostにアクセスすればWordpressのGUIも確認できます。

リリースのアンインストール

リリースを削除したい場合はアンインストールをします。

以下のようにリリース名でアンインストールすることで関連するリソースが削除されます。

1helm uninstall wordpress-1639287375

まとめ

  • HelmはKubernetes用のパッケージマネージャー
  • Helmでアプリケーションのインストールと設定が簡単になる

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee