1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Helm 3.0でkubernetesに簡単導入

Last updated at Posted at 2019-12-29

Kubernetesにアプリを簡単に入れられるHelmがv3へメジャーアップデートされ、Tillerがなくなることで操作性が変化したので試す。

今回はElasticsearchとKibanaを入れる。環境はWindowsのDocker desktop付属のkubernetesを使用。

1. Helmのインストール

1.1 Helmのインストール

Windowsの場合はChocolateyを使用する。Chocolateyのインストール方法は下記参照。
https://chocolatey.org/install

Chocolateyのインストール後はコマンドプロンプトやPowerShell等のコンソールからHelmをインストール。

> choco install -y kubernetes-helm

1.2 Chart(必要なアプリケーションの集合)を検索

Helmでは必要なアプリケーション(コンテナ)の集まりをChartと呼ぶ。
search repo コマンドで目的のChartに関して検索可能。

> helm search repo Chart名

2. HelmでElasticsearchをインストール

2.1 ElasticsearchのChartを検索

今回のターゲットとなるElasticsearchをhelmにて検索。

# ElasticsearchのChart検索
> helm search repo Elasticsearch

2019-12-29.png

一番上のbitnami/elasticsearchを今回はインストールする。
表示されたURLをブラウザに入力する。

2019-12-29 (3).png

2.2 レポジトリの登録とChartのインストール

表示された下記コマンドを入力。

# レポジトリの登録(Chartのインストールに必要)
> helm repo add bitnami https://charts.bitnami.com
> helm repo add stable https://kubernetes-charts.storage.googleapis.com
# Elasticsearch Chartのインストール(設定なし)
> helm install elasticsearch bitnami/elasticsearch

elasticsearchという名前でbitnami/elasticsearchがインストールされる。
設定を変えるため、一旦アンインストール。

helm delete elasticsearch

3. Chartの設定変更(Kibanaのインストール)

Chart(アプリケーションの集合)の設定をファイルに出力する。

helm inspect values bitnami/elasticsearch > config.yml

config.yml中の14行目、global中kibanaEnabledのfalseをtrueに変更
これでElasticsearchと同時にKibanaがインストールされる。

  kibanaEnabled: true

変更した設定を反映しつつElasticsearch Chartのインストールを実施。この変更によりKibanaも同時にインストールされる。

> helm install elasticsearch bitnami/elasticsearch -f config.yml

コマンドプロンプトやPowerShell等のコンソールから、下記を入力して
Kibanaのサービスをローカルにポートフォワードする。

> kubectl port-forward svc/elasticsearch-kibana 80:80

ブラウザでlocalhost:80と入力してKibanaを開く。
デモデータを入れると下記のダッシュボードが閲覧可能。
2019-12-29 (5).png

KibanaとElasticsearchを個別にコンテナとしてインストールすると、コンテナ上のKibanaからElasticsearchを認識させるのがDNSの関係でしんどい。Helmを使えば、各種コンテナがパッケージ化されているため楽に処理できる。

Ingressを使って、Elasticsearchをlocalhostで公開し、Kibanaは80以外のポートを使ってポートフォワードで使用するのが最適解だろうか。
Elasticsearchは階層で認識する方式なので、ingressと相性が悪い。Ingressで80以外のポートを指定できれば便利なのだが……。

ElasticsearchとKibanaのOSS版だけでは外部データの取り込みが難しいので、EmbulkかFluentdの追加に関して追記するかも。
(一般的なCSV取り込みは有償版Kibanaの機能)

以上

1
4
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
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?