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

kubernetes部署3节点高可用elasticsearch v8.14.3

1 概述

一个yaml部署3节点的elasticsearch v8.14.3,修改storageclass名称后就能直接用。

2 环境准备

2.1 在华为云准备一个kubernetes集群

在这里插入图片描述

2.2 在华为云准备一个NAS作为PV底层存储

在这里插入图片描述
必须是NAS存储,不能是块存储,因为后续多个跨不同节点的pod会同时挂载到同一个PV。

2.3 创建kubernetes存储类

k8s storageclass的yaml如下,提交到k8s中即可,这个sc的名称叫做nfs,这个sc的名称叫做nfs,这个sc的名称叫做nfs,重要的事情重复三遍,这个名称会被后续的elasticsearch yaml引用。

apiVersion: storage.k8s.io/v1
allowVolumeExpansion: true
kind: StorageClass
metadata:name: nfs
mountOptions:
- lock
parameters:csi.storage.k8s.io/csi-driver-name: sfsturbo.csi.everest.iocsi.storage.k8s.io/fstype: nfseverest.io/archive-on-delete: "true"everest.io/share-access-to: fc1f5584-4423-4************   # VPC IDeverest.io/share-expand-type: bandwidtheverest.io/share-export-location: b134a******.sfsturbo.internal:/mydir   # sfs turbo实例的共享路径:自定义子目录everest.io/share-source: sfs-turboeverest.io/share-volume-type: STANDARDeverest.io/volume-as: subpatheverest.io/volume-id: b134a******   # sfs turbo实例的ID
provisioner: everest-csi-provisioner
reclaimPolicy: Retain
volumeBindingMode: Immediate

3 部署ES

elasticsearch的yaml如下,提交到k8s中即可:

apiVersion: apps/v1
kind: StatefulSet
metadata:name: elasticsearch
spec:serviceName: elasticsearchpodManagementPolicy: Parallelreplicas: 3selector:matchLabels:app: elasticsearchtemplate:metadata:labels:app: elasticsearchspec:initContainers:- name: configure-sysctlimage: swr.cn-south-1.myhuaweicloud.com/migrator/busybox:1.36command: ["sysctl", "-w", "vm.max_map_count=262144"]securityContext:privileged: truecontainers:- name: elasticsearchimage: swr.cn-south-1.myhuaweicloud.com/migrator/elasticsearch:8.14.3resources:limits:cpu: "4"memory: "8Gi"requests:cpu: "0.5"memory: "1Gi"ports:- containerPort: 9200name: http- containerPort: 9300name: transportenv:- name: ES_JAVA_OPTSvalue: "-Xms2g -Xmx2g"volumeMounts:- name: elasticsearch-datamountPath: /usr/share/elasticsearch/data- name: configmountPath: /usr/share/elasticsearch/config/elasticsearch.ymlsubPath: elasticsearch.yml- name: elasticsearch-logsmountPath: /usr/share/elasticsearch/logslivenessProbe:httpGet:path: /_cluster/health?local=trueport: 9200scheme: HTTPhttpHeaders:- name: Authorizationvalue: "Basic ZWxhc3RpYzpkaWZ5YWkxMjM0NTY="initialDelaySeconds: 30timeoutSeconds: 5periodSeconds: 30successThreshold: 1failureThreshold: 3readinessProbe:httpGet:path: /_cluster/health?local=trueport: 9200scheme: HTTPhttpHeaders:- name: Authorizationvalue: "Basic ZWxhc3RpYzpkaWZ5YWkxMjM0NTY="initialDelaySeconds: 30timeoutSeconds: 5periodSeconds: 30successThreshold: 1failureThreshold: 3volumes:- name: configconfigMap:name: elasticsearch-configvolumeClaimTemplates:- metadata:name: elasticsearch-datalabels:app: elasticsearchspec:accessModes: [ "ReadWriteOnce" ]storageClassName: nfsresources:requests:storage: 50Gi- metadata:name: elasticsearch-logslabels:app: elasticsearchspec:accessModes: [ "ReadWriteOnce" ]storageClassName: nfsresources:requests:storage: 4Gi---
apiVersion: v1
kind: Service
metadata:name: elasticsearchlabels:app: elasticsearch
spec:ports:- port: 9200name: http- port: 9300name: transportclusterIP: None selector:app: elasticsearch
---apiVersion: v1
kind: ConfigMap
metadata:name: elasticsearch-config
data:elasticsearch.yml: |cluster.name: es-clusternode.name: ${HOSTNAME}network.host: 0.0.0.0discovery.seed_hosts: ["elasticsearch-0.elasticsearch", "elasticsearch-1.elasticsearch", "elasticsearch-2.elasticsearch"]cluster.initial_master_nodes: ["elasticsearch-0", "elasticsearch-1", "elasticsearch-2"]xpack.security.enrollment.enabled: truexpack.security.http.ssl.enabled: falsebootstrap.memory_lock: falseindices.memory.index_buffer_size: 10%indices.queries.cache.size: 5%action.destructive_requires_name: truexpack.security.transport.ssl.enabled: falsexpack.security.enabled: falsenode.roles: ["master", "data", "ingest"]

部署结果如下:
在这里插入图片描述

http://www.lqws.cn/news/559675.html

相关文章:

  • OpenCV图像噪点消除五大滤波方法
  • Cesium快速入门到精通系列教程十一:Cesium1.74中高性能渲染上万Polyline
  • Java笔记
  • 机器学习配置环境
  • Ultralytics YOLO超参数调整指南(一)
  • 利用ROS打印novatel_msgs/INSPVAX
  • JSON简介及其应用
  • 创客匠人解析:身心灵赛道创始人 IP 打造核心策略
  • 动捕关节数据采集系统设计与实现
  • Java安装与使用教程
  • 实现一个AI大模型当前都无法正确实现的基础二叉树读取算法
  • TCP 在高速网络下的大数据量传输优化:拥塞控制、效率保障与协议演进​
  • OpenAI:Let’s Verify Step by Step 解读
  • 权电阻网络DAC实现电压输出型数模转换Multisim电路仿真——硬件工程师笔记
  • Http请求参数的区别
  • 户外人像要怎么拍 ?
  • 行为型 - 责任链模式详解
  • gantt-task-react的改造使用
  • MCP基础知识一
  • 【原理图设计】5Vto3.7Vto1.5V电源板一
  • 基于Uniapp+SpringBoot+Vue 的在线商城小程序
  • 前端react面试题之实现网页多选搜索框
  • 变长字节的数字表示法vb224
  • 抽屉打印公共组件想要实现的打印预览样式效果
  • 个人日记本小程序开发方案(使用IntelliJ IDEA)
  • C语言---常见的字符函数和字符串函数介绍
  • 【EDA软件】【联合Modelsim 同步FIFO仿真】
  • FPGA原理结构
  • 用AI给AR加“智慧”:揭秘增强现实智能互动的优化秘密
  • FPGA设计的用户约束