当前位置:首页 > 后端开发 > k8s安装elasticsearch(带分词插件)

k8s安装elasticsearch(带分词插件)

7个月前 (05-23)66
  1. 参考文档
    https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-overview.html
  2. 制作镜像
    编写dockerfile
FROM docker.elastic.co/elasticsearch/elasticsearch:7.16.2
COPY ik /usr/share/elasticsearch/plugins/ik
COPY pinyin /usr/share/elasticsearch/plugins/pinyin

生成新镜像

#imageName为制作后的镜像名称
docker build -t imageName .
  1. k8s自定义资源等
kubectl create -f https://download.elastic.co/downloads/eck/2.0.0/crds.yaml
kubectl apply -f https://download.elastic.co/downloads/eck/2.0.0/operator.yaml
  1. 创建pv
    编写yaml。一个es节点需要一个pv
apiVersion: v1
kind: PersistentVolume
metadata:
  name: elasticsearch-master
  namespace: elastic-system
  labels:
    type: local
spec:
  storageClassName: elasticsearch-master  #pod与pv通过该标签进行绑定
  capacity:
    storage: 30Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/app/elk/data/master"
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: elasticsearch-data
  namespace: elastic-system
  labels:
    type: local
spec:
  storageClassName: elasticsearch-data  #pod与pv通过该标签进行绑定
  capacity:
    storage: 30Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/app/elk/data/data"
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: elasticsearch-client
  namespace: elastic-system
  labels:
    type: local
spec:
  storageClassName: elasticsearch-client  #pod与pv通过该标签进行绑定
  capacity:
    storage: 30Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/app/elk/data/client"
  1. 创建es
    编写yaml
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: elasticsearchex    #集群名称
  namespace: elastic-system
spec:
  version: 7.16.2  #版本号
  image: docker.elastic.co/elasticsearch/elasticsearch:7.16.2  #镜像,可以自定义镜像,可省略使用官网镜像
  http:
    service:
      spec:
        type: NodePort  #网络类型使用nodeport,默认集群ip
    tls:
      selfSignedCertificate:
        disabled: true   #关闭ssl验证
  nodeSets:
  - name: master-nodes    #主节点设置
    count: 1
    config:
      node.master: true
      node.voting_only: false
      node.data: false
      node.ingest: true
      node.ml: false
      node.store.allow_mmap: false
    podTemplate:
      spec:
        containers:
        - name: elasticsearch
          env:
          - name: ES_JAVA_OPTS
            value: -Xms2g -Xmx2g
          resources:
            limits:
              memory: 4Gi
              cpu: 2
    volumeClaimTemplates:
    - metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 20Gi
        storageClassName: elasticsearch-master   #绑定相应pv
  - name: data-nodes     #数据节点设置
    count: 1
    config:
      node.master: false
      node.voting_only: false
      node.data: true
      node.ingest: false
      node.ml: false
      node.store.allow_mmap: false
    podTemplate:
      spec:
        containers:
        - name: elasticsearch
          env:
          - name: ES_JAVA_OPTS
            value: -Xms16g -Xmx16g
          resources:
            limits:
              memory: 32Gi
              cpu: 8
    volumeClaimTemplates:
    - metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 100Gi
        storageClassName: elasticsearch-data  #绑定对应pv
  - name: client-nodes    #协调节点设置
    count: 1
    config:
      node.master: false
      node.voting_only: false
      node.data: false
      node.ingest: false
      node.ml: false
      node.store.allow_mmap: false
    podTemplate:
      spec:
        containers:
        - name: elasticsearch
          env:
          - name: ES_JAVA_OPTS
            value: -Xms8g -Xmx8g
          resources:
            limits:
              memory: 16Gi
              cpu: 2
    volumeClaimTemplates:
    - metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 20Gi
        storageClassName: elasticsearch-client  #绑定对应pv
  1. 创建kibana
    编写yaml
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
  name: kibanaex
  namespace: elastic-system
spec:
  version: 7.16.2
  count: 1
  podTemplate:
      spec:
        containers:
        - name: kibana
          resources:
            limits:
              memory: 2Gi
              cpu: 2
  elasticsearchRef:
    name: elasticsearchex  #对应上方es名称
  1. 获取密码
    k8s部署的es会自动生成一个默认账号elastic 及其对应密码,密码获取方式如下:
#其中加粗部份为上方es名称
kubectl get secret **elasticsearchex**-es-elastic-user -o go-template='{
     {.data.elastic | base64decode}}' -n elastic-system
  1. 访问kibana
    kibana创建好后会自动生成其对应的 service信息,查询service信息,通过集群ip获取service名称即可访问kibana
    k8s安装elasticsearch(带分词插件) _ Java侠
    或者自行创建nodeport访问,yaml如下
apiVersion: v1
kind: Service
metadata:
  name: hotelkibana-nodeport
  namespace: elastic-system
spec:
  externalTrafficPolicy: Cluster
  ports:
  - name: http
    nodePort: 8601
    port: 8601
    protocol: TCP
    targetPort: 5601
  selector:
    common.k8s.elastic.co/type: kibana
    kibana.k8s.elastic.co/name: kibanaex  #上方kibana名称
  sessionAffinity: None
  type: NodePort
status:
  loadBalancer: {
     }

作者:浅灬野
来源链接:https://blog.csdn.net/qq_32476265/article/details/123378533

“k8s安装elasticsearch(带分词插件)” 的相关文章

IntelliJ IDEA 2018.2激活

IntelliJ IDEA 2018.2激活

IntelliJ IDEA 2018.2激活 下载补丁 下载补丁JetbrainsIdesCrack-4.2.jar 下载链接 修改文件 将文件Jetbrains...

分布式搜索引擎Elasticsearch性能优化与配置

一、参数优化 文件句柄 Linux中,每个进程默认打开的最大文件句柄数是1000,对于服务器进程来说,显然太小,通过修改/etc/security/limits.conf来增...

IDEA新手使用教程(详解)

IDEA新手使用教程(详解)

                       ...

Elasticsearch安装配置和测试

官方教程:https://www.elastic.co/guide/en/elasticsearch/reference/master/_installation.html 中文教...

elasticsearch7 配置篇

学习了这么多,终于开始搭建生产环境了,这一篇主要讲解配置项,以及支持中文分词的ik安装,集群的搭建。 配置项确实挺多的,但把几个常用配置熟悉就好,而且就像elasticsea...

IDEA激活 试用30天 自动激活

IDEA激活 试用30天 自动激活

jetbrains-agent已经停止,现在又出现了新的激活方式,重置试用时间,以下为操作步骤: 插件市场安装 添加第三方插件仓库地址 Settings/Preferences... -...

Elasticsearch7.14.2 安装使用笔记

我的服务器环境是 CentOS8,es运行方式是 docker 安装Elasticsearch以及相关查询工具,这里用的是 Elasticsearch7.14...

转载: Elasticsearch之配置详解

配置文件详解1.0版 配置文件位于es根目录的config目录下面,有elasticsearch.yml和logging.yml两个配置,主配置文件是elasticsearch.y...

IntelliJ IDEA插件的Jrebel激活踩坑【内网离线使用】

IntelliJ IDEA插件的Jrebel激活踩坑【内网离线使用】

【前言】 Jrebel默认是需要外网在每一次使用时实时激活的,但是我们好多情况都是内网使用,所以我查了很多资料找到了一个解决方案! Jrebel 破解方法:htt...

IDEA 2017 下载激活破解教程

IDEA 2017 下载激活破解教程

一、IntelliJ IDEA 2017 下载地址  http://www.jetbrains.com/idea/#chooseYo...