1. 概要Elasticsearch は Lucene をベースにした検索エンジンです。 HTTP Web インターフェイスとスキーマフリーの JSON ドキュメントを備えた、分散型のマルチテナント対応フルテキスト検索エンジンを提供します。 Elasticsearch は Java で開発され、Apache ライセンスの条件に基づいてオープンソースとしてリリースされています。 公式ドキュメント: https://www.elastic.co/guide/en/elasticsearch/reference/master/getting-started.htmlGitHub: https://github.com/elastic/elasticsearch 2. Elasticsearch オーケストレーションとデプロイメントアドレス: https://artifacthub.io/packages/helm/elastic/elasticsearch 1) ソースを追加し、オーケストレーション展開パッケージをダウンロードします helmリポジトリにelasticを追加しますhttps://helm.elastic.co helm pull elastic / elasticsearch --バージョン 7.17.3 tar - xf elasticsearch - 7.17.3.tgz 2) イメージを構築するElasticsearch のさまざまなバージョンのダウンロード アドレス: https://www.elastic.co/cn/downloads/past-releases#elasticsearch ここではイメージを再構築しません。ここでは、イメージのプルを高速化するために、リモート イメージをローカル ハーバーにプッシュします。 docker pull docker .elastic .co / elasticsearch / elasticsearch : 7.17 .3
docker タグ docker .elastic .co / elasticsearch / elasticsearch : 7.17 .3 myharbor .com / bigdata / elasticsearch : 7.17 .3
# 画像をアップロードする docker push myharbor .com / bigdata / elasticsearch : 7.17 .3
# 画像を削除する docker rmi myharbor .com / bigdata / elasticsearch : 7.17 .3 crictl rmi myharbor .com / bigdata / elasticsearch : 7.17 .3 3) YAMLレイアウトを変更する画像: "myharbor.com/bigdata/elasticsearch"
...
... ### これらの行を削除します ボリュームクレームテンプレート: アクセスモード: [ "ReadWriteOnce" ] リソース: リクエスト: ストレージ: 30 Gi ....
持続性: 有効: true ラベル: # StatefulSet の volumeClaimTemplate にデフォルトのラベルを追加します 有効: false 注釈: { } アクセスモード: -一度だけ読み書き可能 サイズ: 1Gi ストレージクラス: "elasticsearch-local-storage" 地元: -名前: elasticsearch - 0 ホスト: "local-168-182-110" パス: "/opt/bigdata/servers/elasticsearch/data/data1" -名前: elasticsearch - 1 ホスト: "local-168-182-111" パス: "/opt/bigdata/servers/elasticsearch/data/data1" -名前: elasticsearch - 2 ホスト: "local-168-182-112" パス: "/opt/bigdata/servers/elasticsearch/data/data1"
...
プロトコル: http httpポート: 9200 トランスポートポート: 9300 サービス: 有効: true タイプ: NodePort ノードポート: 30920 httpポート名: - elasticsearch/テンプレート/ストレージクラス.yaml
種類:ストレージクラス apiバージョン:ストレージ.k8s .io / v1 メタデータ: 名前: { { .Values .persistence .storageClass } } プロビジョナー: kubernetes .io / no -プロビジョナー - elasticsearch/テンプレート/pv.yaml
{{- 範囲 .Values.persistence.local }} --- APIバージョン: v1 種類: 永続ボリューム メタデータ: 名前: {{.name}} ラベル: 名前: {{.name}} 仕様: ストレージクラス名: {{ $.Values.persistence.storageClass }} 容量: ストレージ: {{ $.Values.persistence.size }} アクセスモード: {{- 範囲 $.Values.persistence.accessModes }} - {{ . |引用 }} {{- 終わり }} 地元: パス: {{.path}} ノードアフィニティ: 必須: ノードセレクタ用語: - 一致する表現: - キー: kubernetes.io/hostname 演算子: 値: - {{ 。ホスト }} --- {{- 終わり }} - elasticsearch/テンプレート/statefulset.yaml
仕様: ボリュームクレームテンプレート: 仕様: # この行を削除 {{toYaml .Values.volumeClaimTemplate |インデント 6 }}
# 次のコンテンツを追加します。 アクセスモード: {{- 範囲 .Values.persistence.accessModes }} - {{ . |引用 }} {{- 終わり }} リソース: リクエスト: ストレージ: {{ .Values.persistence.size |引用 }} {{- if .Values.persistence.storageClass }} {{- if (eq "-" .Values.persistence.storageClass) }} ストレージクラス名: "" {{- それ以外 }} ストレージクラス名: "{{ .Values.persistence.storageClass }}" {{- 終わり }} {{- 終わり }} 4) 展開を開始する # 最初にローカルストレージディレクトリを作成する mkdir -p / opt / bigdata / servers / elasticsearch / data / data1 chmod -R 777 / opt / bigdata / servers / elasticsearch / data / data1
helm をインストールします- elasticsearch ./elasticsearch -n elasticsearch --create-namespace # チェック helm メモを取得- elasticsearch - n elasticsearch kubectl get pods 、 svc - n elasticsearch - wide を実行します。 注記 名前: my - elasticsearch 最終配備: 2022年10月12日水曜日23:47:17 名前空間: elasticsearch ステータス:展開済み 改訂: 1 注記: 1.すべてのクラスタ メンバーが起動するのを確認します。 $ kubectl get pods --namespace=elasticsearch -l app=elasticsearch-master -w2 を実行します。 Helm テストを使用してクラスターの健全性をテストします。 $ helm --namespace=elasticsearch テスト my-elasticsearch 5) テスト検証 : // 192.168 .182 .110 : 30920 / カールhttp://192.168.182.110:30920/_cat/nodes カールhttp://192.168.182.110:30920/_cat/health?pretty 6) エラスティックサーチヘッドelasticsearch-head GitHubダウンロードアドレス: https://github.com/mobz/elasticsearch-head Googleブラウザelasticsearch-headプラグイン: リンク: https://pan.baidu.com/s/1kYcTjBDPmSWVzsku2hEW7w?pwd=67v4 抽出コード: 67v4 7) アンインストール helm アンインストール my - elasticsearch - n elasticsearch kubectl ns elasticsearchを削除します--force
rm - fr / opt / bigdata /サーバー/ elasticsearch /データ/ data1 /* ssh local-168-182-111 "rm -fr /opt/bigdata/servers/elasticsearch/data/data1/* " ssh local-168-182-112 "rm -fr /opt/bigdata/servers/elasticsearch/data/data1/* "
docker rmi myharbor.com/bigdata/elasticsearch:7.17.3 crictl rmi myharbor.com/bigdata/elasticsearch:7.17.3 ssh local-168-182-111 "crictl rmi myharbor.com/bigdata/elasticsearch:7.17.3" ssh local-168-182-112 "crictl rmi myharbor.com/bigdata/elasticsearch:7.17.3" 3. Kibana オーケストレーションとデプロイメントアドレス: https://artifacthub.io/packages/helm/bitnami/kibana?modal=install 1) ソースを追加し、オーケストレーション展開パッケージをダウンロードします helm リポジトリに bitnami を追加します https://charts.bitnami.com/bitnami helm pull bitnami/kibana --バージョン 10.2.6 tar -xf キバナ-10.2.6.tgz 2) イメージを構築するイメージはここで再構築されるのではなく、高速化のためにローカルの港にプッシュされます。 [注意] バージョン番号はESに対応している必要があります。バージョンが異なる場合、互換性のないストレージが発生する可能性があります。 docker pull docker.io/bitnami/kibana:7.17.3 docker タグ docker.io/bitnami/kibana:7.17.3 myharbor.com/bigdata/kibana:7.17.3
# 画像をアップロードする docker push myharbor.com/bigdata/kibana:7.17.3
# 画像を削除する docker rmi myharbor.com/bigdata/kibana:7.17.3 crictl rmi myharbor.com/bigdata/kibana:7.17.3 3) YAMLレイアウトを変更する画像: レジストリ: myharbor.com リポジトリ: bigdata/kibana タグ: 8.4.3-debian-11-r1
...
レプリカ数: 1
...
持続性: 有効: true アクセスモード: -一度だけ読み書き可能 サイズ: 1Gi ストレージクラス: "kibana-local-storage" 地元: - 名前: キバナ-0 ホスト: "local-168-182-111" パス: "/opt/bigdata/servers/kibana/data/data1"
...
サービス: ポート: http: 5601 タイプ: NodePort ノードポート: http: "30601"
...
エラスティックサーチ: ホスト: -elasticsearch-マスター.elasticsearch ポート: "9200" {{- 範囲 .Values.persistence.local }} --- APIバージョン: v1 種類: 永続ボリューム メタデータ: 名前: {{.name}} ラベル: 名前: {{.name}} 仕様: ストレージクラス名: {{ $.Values.persistence.storageClass }} 容量: ストレージ: {{ $.Values.persistence.size }} アクセスモード: {{- 範囲 $.Values.persistence.accessModes }} - {{ . |引用 }} {{- 終わり }} 地元: パス: {{.path}} ノードアフィニティ: 必須: ノードセレクタ用語: - 一致する表現: - キー: kubernetes.io/hostname 演算子: 値: - {{ 。ホスト }} --- {{- 終わり }} - kibana/テンプレート/ストレージクラス.yaml
種類: ストレージクラス APIバージョン: storage.k8s.io/v1 メタデータ: 名前: {{ .Values.persistence.storageClass }} プロビジョナー: kubernetes.io/no-provisioner {{- 範囲 .Values.persistence.local }} --- APIバージョン: v1 種類: 永続ボリューム メタデータ: 名前: {{.name}} ラベル: 名前: {{.name}} 仕様: ストレージクラス名: {{ $.Values.persistence.storageClass }} 容量: ストレージ: {{ $.Values.persistence.size }} アクセスモード: {{- 範囲 $.Values.persistence.accessModes }} - {{ . |引用 }} {{- 終わり }} 地元: パス: {{.path}} ノードアフィニティ: 必須: ノードセレクタ用語: - 一致する表現: - キー: kubernetes.io/hostname 演算子: 値: - {{ 。ホスト }} --- {{- 終わり }} 4) 展開を開始する # 最初にローカルストレージディレクトリを作成する mkdir -p /opt/bigdata/servers/kibana/data/data1 chmod -R 777 /opt/bigdata/servers/kibana/data/data1
helm で my-kibana をインストールします。/kibana -n kibana --create-namespace # チェック helm は、my-kibana -n kibana のメモを取得します。 kubectl ポッドの取得、svc -n kibana -owide 注記 名前: my-kibana 最終デプロイ: 2022年10月13日木曜日 22:43:30 名前空間: kibana ステータス: 展開済み 改訂: 1 テストスイート: なし 注記: チャート名: キバナ チャートバージョン: 10.2.6 アプリバージョン: 8.4.3
** チャートが展開されるまでしばらくお待ちください **##################################################################################################### ### エラー: 'helm install' 呼び出しで Elasticsearch 外部ホストまたはポートを指定しませんでした ### ##############################################################################
次のコマンドを実行して Kibana のデプロイを完了します。
Helm upgrade --namespace kibana my-kibana my-repo/kibana \ --set elasticsearch.hosts[0]=YOUR_ES_HOST、elasticsearch.port=YOUR_ES_PORT
「YOUR_ES_HOST」および「YOUR_ES_PORT」プレースホルダーを、Elasticsearch デプロイメントの適切な値に置き換えます。 5) テスト検証ウェブ: http://192.168.182.111:30601 6) アンインストール helm アンインストール my-kibana -n kibana kubectl delete ns kibana --force
ssh local-168-182-111 rm -fr /opt/bigdata/servers/kibana/data/data1/*
docker rmi myharbor.com/bigdata/bigdata:8.4.3-debian-11-r1 crictl rmi myharbor.com/bigdata/bigdata:8.4.3-debian-11-r1 Elasticsearch オン K8Sダウンロードアドレス: https://gitee.com/hadoop-bigdata/elasticsearch-on-k8skibana-on-k8s ダウンロードアドレス: https://gitee.com/hadoop-bigdata/kibana-on-k8s |