当前位置: 首页 > article >正文

k8s部署elasticsearch

前置环境:已部署k8s集群,ip地址为 192.168.10.1~192.168.10.5,总共5台机器。

1. 创建provisioner制备器(如果已存在,则不需要)

制备器的具体部署方式,参考我之前的文章:k8s部署rabbitmq-CSDN博客

2. 编写wms-elk-data-sc.yaml配置文件

apiVersion: storage.k8s.io/v1
kind: StorageClass # 描述资源对象为SC类型
metadata:
  name: wms-elk-data # SC的名称,在集群范围内需要保证唯一
provisioner: wms-nfs-provisioner # 外部制备器提供者,编写为提供者的名称
parameters:
  archiveOnDelete: "true" # 是否存档,false表示不存档,会删除oldPath下面的数据,true表示存档,会重命名路径
reclaimPolicy: Delete # 回收策略
volumeBindingMode: Immediate # 默认为Immediate,表示创建PVC立即进行绑定

3. 导入wms-elk-data-sc.yaml配置文件

4. 查看PVC信息

$ kubectl get pvc -n wms
$ kubectl describe pvc elasticsearch-data-elasticsearch-0 -n wms

5. 编写elasticsearch.yaml配置文件

---
apiVersion: v1
kind: Service
metadata:
  name: elasticsearch
spec:
  type: ClusterIP
  clusterIP: None
  ports:
  - name: elasticsearch
    port: 9200
    targetPort: 9200
  - name: es-transport
    port: 9300
    targetPort: 9300
  selector:
    app: elasticsearch
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: elasticsearch-config
data:
  # 指定配置文件的内容
  elasticsearch.yml: |
    cluster.name: cluster-es
    network.host: 0.0.0.0
    xpack.license.self_generated.type: basic
    xpack.security.enabled: false
    xpack.monitoring.collection.enabled: true
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: elasticsearch
spec:
  serviceName: elasticsearch
  replicas: 1
  selector:
    matchLabels:
      app: elasticsearch
  template:
    metadata:
      labels:
        app: elasticsearch
    spec:
      containers:
      - name: elasticsearch
        image: harbor.cool.team/common/elasticsearch/elasticsearch-ik:7.16.2
        imagePullPolicy: IfNotPresent
        ports:
        - name: elasticsearch
          containerPort: 9200
          protocol: "TCP"
        - name: es-transport
          containerPort: 9300
          protocol: "TCP"
        env:
        - name: ES_JAVA_OPTS
          value: -Xmx4048m -Xms512m
        - name: discovery.type
          value: single-node
        volumeMounts:
        - name: elasticsearch-conf #挂载配置
          mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
          subPath: elasticsearch.yml
        - name: elasticsearch-data #挂载数据
          mountPath: /usr/share/elasticsearch/data
      volumes:
      - name: elasticsearch-conf
        configMap:
          name: elasticsearch-config
      restartPolicy: Always
  volumeClaimTemplates: 
  - metadata:
      name: elasticsearch-data
    spec:
      accessModes: ["ReadWriteMany"]
      storageClassName: "elk-data"
      resources:
        requests:
          storage: 100Gi

6. 在k8s页面,wms命名空间导入elasticsearch.yaml配置文件

7. 查看部署信息

8. 查看配置信息

9. 查看Pod日志信息,检查是否有报错信息

10. 访问elasticsearch页面

192.168.10.4:9200

从其他的容器,使用elasticsearch的ip,直接访问elasticsearch,可以正常访问


http://www.kler.cn/a/539904.html

相关文章:

  • 数据集成实例分享:金蝶云星空对接旺店通实现库存管理自动化
  • 上马传奇新手起号攻略 上马传奇云手机开荒玩法
  • 基于 Python(Flask)、JavaScript、HTML 和 CSS 实现前后端交互的详细开发过程
  • Netty:高性能网络应用框架的深度解析
  • jupyterLab插件开发
  • 4G核心网的演变与创新:从传统到虚拟化的跨越
  • 深入理解C#结构型设计模式:类适配器与对象适配器
  • C++字符串相关内容
  • 编译原理面试问答
  • [权限提升] Linux 提权 维持 — 系统错误配置提权 - 通配符(ws)注入提权
  • 面试真题 | Momenta c++
  • 【大模型】硅基流动对接DeepSeek使用详解
  • 安当SLA操作系统登录双因素认证:全方位保障Windows系统登录安全
  • 【批量获取图片信息】批量获取图片尺寸、海拔、分辨率、GPS经纬度、面积、位深度、等图片属性里的详细信息,提取出来后导出表格,基于WPF的详细解决方案
  • 如何在Windows中配置MySQL?
  • 2. Mellanox 网卡的参数调优-LINK_TYPE_P1(GPU-AI-大模型,底层调优-测试)
  • 模型压缩 --学习记录2
  • 疯狂前端面试题(二)
  • 算法与数据结构(搜索旋转排序数组)
  • LLM应用实践(1)- 物流状态判断
  • c/c++蓝桥杯经典编程题100道(13)杨辉三角
  • Maven 中常用的 scope 类型及其解析
  • ubuntu24.04安装布置ros
  • 在亚马逊云科技上云原生部署DeepSeek-R1模型(上)
  • Vue 过渡动画实现全解析:打造丝滑交互体验
  • 电脑远程控制vivo手机,切换按钮就能让vivo仅投屏、不受控制!