Elasticsearch在Kubernetes上的部署與使用指南

一、Kubernetes簡介

Kubernetes(K8s)是一個開源的容器編排框架,提供自動部署、升級、容錯、負載均衡和擴展等功能。它能夠自動化管理容器部署、提供容器編排管理、自動化容器部署等一系列容器相關的操作,為開發人員提供高效的部署和管理工具。

二、Elasticsearch簡介

Elasticsearch是一個基於Lucene的分布式搜索引擎,提供全文檢索、結構化查詢、分析等功能。它能夠處理海量數據,實現快速的搜索和查詢,目前廣泛應用於日誌分析、搜索引擎、數據挖掘、實時數據分析等領域。

三、在Kubernetes上部署Elasticsearch

在Kubernetes上部署Elasticsearch可以實現高可用、可靠的集群管理,下面介紹基於Kubernetes的Elasticsearch部署步驟:

1.安裝minikube

Minikube是一個輕量級的Kubernetes實現,它可以在本地機器上模擬Kubernetes集群環境。在開始部署Elasticsearch之前,請先安裝好Minikube。

brew install minikube

2.創建Elasticsearch鏡像

在部署Elasticsearch之前,需要先創建Elasticsearch的Docker鏡像,並上傳到Docker Hub上。在本地機器上安裝好Docker後,使用以下命令構建Elasticsearch鏡像:

docker build -t elasticsearch:7.10.0 .

其中,7.10.0是Elasticsearch的版本號。構建完成後,使用以下命令將鏡像上傳到Docker Hub上:

docker push yourname/elasticsearch:7.10.0

其中,yourname是您的Docker Hub賬戶名。

3.創建Kubernetes部署文件

創建elasticsearch.yaml文件,並填寫以下內容:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: elasticsearch
spec:
  serviceName: elasticsearch
  replicas: 3
  selector:
    matchLabels:
      app: elasticsearch
  template:
    metadata:
      labels:
        app: elasticsearch
    spec:
      containers:
      - name: elasticsearch
        image: yourname/elasticsearch:7.10.0
        ports:
        - containerPort: 9200
        - containerPort: 9300
        volumeMounts:
        - name: elasticsearch-data
          mountPath: /usr/share/elasticsearch/data
        env:
        - name: discovery.seed_hosts
          value: "elasticsearch-0.elasticsearch,elasticsearch-1.elasticsearch,elasticsearch-2.elasticsearch"
        - name: cluster.initial_master_nodes
          value: "elasticsearch-0,elasticsearch-1,elasticsearch-2"
  volumeClaimTemplates:
  - metadata:
      name: elasticsearch-data
      annotations:
        volume.beta.kubernetes.io/storage-class: "standard"
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 10Gi

其中,replicas表示副本數量,selector中的app:elasticsearch表示選擇所有的elasticsearch Pods,env中設置了Elasticsearch集群的初始節點,volumeClaimTemplates用於保存數據。

四、使用Elasticsearch Kibana進行數據查詢

可以使用Elasticsearch官方提供的Kibana進行數據查詢和可視化。在Kubernetes上部署Kibana的步驟如下:

1.創建Kibana部署文件

創建kibana.yaml文件,並填寫以下內容:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kibana
spec:
  replicas: 1
  selector:
    matchLabels:
      app: kibana
  template:
    metadata:
      labels:
        app: kibana
    spec:
      containers:
      - name: kibana
        image: docker.elastic.co/kibana/kibana-oss:7.10.0
        env:
        - name: ELASTICSEARCH_URL
          value: http://elasticsearch:9200
        ports:
        - containerPort: 5601

其中,ELASTICSEARCH_URL為Elasticsearch集群的URL地址。

2.創建Kibana服務

創建kibana-service.yaml文件,並填寫以下內容:

apiVersion: v1
kind: Service
metadata:
  name: kibana
spec:
  selector:
    app: kibana
  ports:
  - name: kibana
    port: 5601
    targetPort: 5601

3.訪問Kibana

部署完成後,可以使用瀏覽器訪問Kibana的UI界面,輸入http://localhost:5601訪問。

到此,Elasticsearch在Kubernetes上的部署與使用指南就介紹完了。通過Kubernetes的自動化管理,可以方便地進行集群管理和多節點部署,實現高可用和可靠性的數據查詢和分析。

原創文章,作者:NLBQ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/138101.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
NLBQ的頭像NLBQ
上一篇 2024-10-04 00:18
下一篇 2024-10-04 00:19

相關推薦

  • wzftp的介紹與使用指南

    如果你需要進行FTP相關的文件傳輸操作,那麼wzftp是一個非常優秀的選擇。本文將從詳細介紹wzftp的特點和功能入手,幫助你更好地使用wzftp進行文件傳輸。 一、簡介 wzft…

    編程 2025-04-29
  • Fixmeit Client 介紹及使用指南

    Fixmeit Client 是一款全能的編程開發工具,該工具可以根據不同的編程語言和需求幫助開發人員檢查代碼並且提供錯誤提示和建議性意見,方便快捷的幫助開發人員在開發過程中提高代…

    編程 2025-04-29
  • Open h264 slic使用指南

    本文將從多個方面對Open h264 slic進行詳細闡述,包括使用方法、優缺點、常見問題等。Open h264 slic是一款基於H264視頻編碼標準的開源視頻編碼器,提供了快速…

    編程 2025-04-28
  • mvpautocodeplus使用指南

    該指南將介紹如何使用mvpautocodeplus快速開發MVP架構的Android應用程序,並提供該工具的代碼示例。 一、安裝mvpautocodeplus 要使用mvpauto…

    編程 2025-04-28
  • Elasticsearch API使用用法介紹-get /_cat/allocation

    Elasticsearch是一個分布式的開源搜索和分析引擎,支持全文檢索和數據分析,並且可伸縮到上百個節點,處理PB級結構化或非結構化數據。get /_cat/allocation…

    編程 2025-04-28
  • Kubernetes安裝Drone教程

    本文將通過多個方面詳細介紹如何在Kubernetes中安裝Drone,讓您快速上手使用。 一、前置條件 1、已經安裝了Kubernetes環境 2、擁有一個Github賬戶 3、已…

    編程 2025-04-27
  • Python mmap共享使用指南

    Python的mmap模塊提供了一種將文件映射到內存中的方法,從而可以更快地進行文件和內存之間的讀寫操作。本文將以Python mmap共享為中心,從多個方面對其進行詳細的闡述和講…

    編程 2025-04-27
  • Python隨機函數random的使用指南

    本文將從多個方面對Python隨機函數random做詳細闡述,幫助讀者更好地了解和使用該函數。 一、生成隨機數 random函數生成隨機數是其最常見的用法。通過在調用random函…

    編程 2025-04-27
  • RabbitMQ Server 3.8.0使用指南

    RabbitMQ Server 3.8.0是一個開源的消息隊列軟件,官方網站為https://www.rabbitmq.com,本文將為你講解如何使用RabbitMQ Server…

    編程 2025-04-27
  • 按鍵精靈Python插件使用指南

    本篇文章將從安裝、基礎語法使用、實戰案例以及常用問題四個方面介紹按鍵精靈Python插件的使用方法。 一、安裝 安裝按鍵精靈Python插件非常簡單,只需在cmd命令行中輸入以下代…

    編程 2025-04-27

發表回復

登錄後才能評論