はじめに
ELKスタックはKubernetesとネイティブに統合され、モニタリングスタックとして機能します。つまり、k8テレメトリデータを収集、保存、分析します。 ELKスタックをKubernetesに設定してデプロイする方法はいくつかあり、ヘルムチャートを使用するのが最も簡単な方法です。
このチュートリアルでは、ヘルムチャートを利用して、ELKスタックのメインコンポーネントであるElasticsearchと、KibanaとMetricbeat(Logstashの代わりに)をKubernetesクラスターにインストールする方法を学習します。
前提条件
- Kubernetesクラスター(minikubeで作成できます)
- kubectlコマンドラインツールがインストールされています
- ヘルムパッケージマネージャーがインストールされています
Elasticsearch用のKubernetesクラスターのセットアップ
1.まず、Minikubeを起動します。 Elasticsearchのマルチノードクラスターには大量のシステムリソースが必要なため、 --cpus
を使用して十分なCPUとメモリを割り当てるようにしてください。 および--memory
オプション:
minikube start --cpus 4 --memory 8192
重要: 以前に同じシステムでMinikubeクラスターを実行したことがある場合、上記のオプションを使用してリソースを割り当てることはできません。新しいクラスターを開始するには、 minicube delete
を使用します コマンドを実行して前のクラスターを削除してから、手順を続行します。
2.次のように入力して、クラスターが正しく機能しているかどうかを確認します。
kubectl cluster-info
出力は、KubernetesコントロールプレーンとKubeDNSが実行されていることを確認します。
HelmでElasticsearchをデプロイする
1. Elasticsearchのインストールを開始するには、 elastic
を追加します Helmのリポジトリ:
helm repo add elastic https://helm.elastic.co
2.ここで、 curl
を使用します values.yaml
をダウンロードするコマンド 構成情報を含むファイル:
curl -O https://raw.githubusercontent.com/elastic/helm-charts/master/elasticsearch/examples/minikube/values.yaml
3. helm install
を使用します コマンドとvalues.yaml
Elasticsearchヘルムチャートをインストールするファイル:
helm install elasticsearch elastic/elasticsearch -f ./values.yaml
-f
オプションを使用すると、 yaml
を指定できます テンプレートとファイル。特定の名前空間にElasticsearchをインストールする場合は、 -n
を追加します オプションの後に名前空間の名前が続きます。
helm install elasticsearch elastic/elasticsearch -n [namespace] -f ./values.yaml
出力は、デプロイされたアプリのステータスを確認し、インストールをテストするための追加オプションを提供します。
4.最初のオプションは、 get pods
を使用することです。 クラスタメンバーが稼働しているかどうかを確認するコマンド:
kubectl get pods --namespace=default -l app=elasticsearch-master -w
READY
出力の列には、 1/1
が完全に入力されます エントリ、すべてのクラスタメンバーが稼働しています:
もう1つのオプションは、helm test
を使用することです。 クラスタの状態を調べるコマンド:
helm test elasticsearch
5. Elasticsearchを正常にインストールしたら、 kubectl port-forward
を使用します ポート9200に転送するコマンド :
kubectl port-forward svc/elasticsearch-master 9200
port-forward
を実行した後も端末を使い続けるには コマンドを実行するには、別のターミナルウィンドウでコマンドを実行します。
Kibanaをインストールする
1. Elasticsearchの上にKibanaをインストールするには、次のコマンドを入力します。
helm install kibana elastic/kibana
出力は、Kibanaのデプロイを確認します:
2.すべてのポッドの準備ができているかどうかを確認します:
kubectl get pods
KibanaポッドはElasticsearchポッドの下に表示されます:
3.Kibanaをポート5601に転送します kubectl
を使用する :
kubectl port-forward deployment/kibana-kibana 5601
4.ポートフォワーディングを設定したら、 http://localhost:5601
と入力して、ElasticsearchとKibanaGUIにアクセスします。 ブラウザで:
Metricbeatのインストール
Metricbeatのインストールは、Kibanaのインストールと同じパターンに従います。
1.Helmを使用してinstall
を発行します コマンド:
helm install metricbeat elastic/metricbeat
2.Metricbeatポッドが稼働していることを確認します。
kubectl get pods
3. Elasticsearchメトリックのインデックス作成を確認するには、 curl
を使用します コマンド:
curl localhost:9200/_cat/indices
4.Kibanaにアクセスします。これで、インデックスパターンを作成できるようになります。 スタック管理に移動します>インデックスパターン :
5.Create Index Pattern
をクリックします ボタンをクリックしてKibanaの操作を開始します。