KubeSphere部署Elasticsearch+Kibana

演示示例使用的是3.4.1,各版本有名字差异 功能是一样的

1.配置字典

名称:elasticsearch
键名:elasticsearch-conf
值:

network.host: 0.0.0.0
http.port: 9200 
transport.port: 9300
# head 插件需要这打开这两个配置,解决跨域问题
http.cors.allow-origin: "*"
http.cors.enabled: true
http.max_content_length: 200mb
#关闭安全校验 
xpack.security.enabled: false
#初始化数据恢复时,并发恢复线程的个数,默认 4 个
cluster.routing.allocation.node_initial_primaries_recoveries: 16

![[image-20241013155310750.png]]

2.创建工作负载

名称:elasticsearch

在这里插入图片描述

这里使用的镜像是elasticsearch:7.17.15(镜像拉取不下来的自己想办法,这里用的是私有镜像仓库)
根据实际需要调整资源限制
在这里插入图片描述

使用默认镜像端口
勾选主机时区
![[image-20241013155914604.png]]

配置环境变量

discovery.type=single-node
ES_JAVA_OPTS=-Xms1024m -Xmx1024m
single-node的配置是只es单节点配置,如果搭建集群,则配置需要修改

在这里插入图片描述

添加数据持久化

![[image-20241013160051421.png]]

名称:elasticsearch-pvc
读写模式
容量:2Gb(根据实际需要自行调整)
读写:/usr/share/elasticsearch/data

![[image-20241013160148005.png]]

挂载字典
![[image-20241013160255058.png]]

选择第一步时添加的配置字典
模式:只读
路径:/usr/share/elasticsearch/config/elasticsearch.yml
子路径:elasticsearch.yml

![[image-20241013160343083.png]]

选择特定键

elasticsearch.yml

一直下一步然后创建
在这里插入图片描述

创建好的工作负载yaml

kind: StatefulSet
apiVersion: apps/v1
metadata:
  name: elasticsearch
  namespace: gitee
  labels:
    app: elasticsearch
  annotations:
    kubesphere.io/creator: admin
spec:
  replicas: 1
  selector:
    matchLabels:
      app: elasticsearch
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: elasticsearch
      annotations:
        kubesphere.io/creator: admin
        kubesphere.io/imagepullsecrets: '{"container-pfeuz6":"harbor"}'
        logging.kubesphere.io/logsidecar-config: '{}'
    spec:
      volumes:
        - name: host-time
          hostPath:
            path: /etc/localtime
            type: ''
        - name: volume-r7yv2y
          configMap:
            name: elasticsearch-conf
            items:
              - key: elasticsearch-conf
                path: elasticsearch.yml
            defaultMode: 420
      containers:
        - name: container-pfeuz6
          image: '192.168.21.234:81/tools/elasticsearch:7.17.15'
          ports:
            - name: tcp-9200
              containerPort: 9200
              protocol: TCP
            - name: tcp-9300
              containerPort: 9300
              protocol: TCP
          env:
            - name: discovery.type
              value: single-node
            - name: ES_JAVA_OPTS
              value: '-Xms1024m -Xmx1024m'
          resources:
            limits:
              cpu: '4'
              memory: 2Gi
            requests:
              cpu: '2'
              memory: 2Gi
          volumeMounts:
            - name: host-time
              mountPath: /etc/localtime
            - name: elasticsearch-pvc
              mountPath: /usr/share/elasticsearch/data
            - name: volume-r7yv2y
              readOnly: true
              mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
              subPath: elasticsearch.yml
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: IfNotPresent
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      dnsPolicy: ClusterFirst
      serviceAccountName: default
      serviceAccount: default
      securityContext: {}
      imagePullSecrets:
        - name: harbor
      schedulerName: default-scheduler
  volumeClaimTemplates:
    - kind: PersistentVolumeClaim
      apiVersion: v1
      metadata:
        name: elasticsearch-pvc
        namespace: gitee
        creationTimestamp: null
      spec:
        accessModes:
          - ReadWriteOnce
        resources:
          requests:
            storage: 2Gi
        storageClassName: local
        volumeMode: Filesystem
      status:
        phase: Pending
  serviceName: elasticsearch-rikg
  podManagementPolicy: OrderedReady
  updateStrategy:
    type: RollingUpdate
    rollingUpdate:
      partition: 0
  revisionHistoryLimit: 10

3.elasticsearch服务

默认创建的这个直接删掉(弹出的关联项目都不要勾选 仅删除服务!)
在这里插入图片描述

创建自定义服务
在这里插入图片描述

名称:elasticsearch
选择刚添加好的工作负载
在这里插入图片描述

端口号就是9200
在这里插入图片描述

高级设置

两种模式:
1、使用外部模式-NodePort
2、使用应用路由然后本地映射hosts进行访问

为了使用方便所以直接用的应用路由
创建
在这里插入图片描述

创建好的yaml

kind: Service
apiVersion: v1
metadata:
  name: elasticsearch
  namespace: gitee
  labels:
    app: elasticsearch
  annotations:
    kubesphere.io/creator: admin
spec:
  ports:
    - name: http-9200
      protocol: TCP
      port: 9200
      targetPort: 9200
  selector:
    app: elasticsearch
  clusterIP: 10.233.15.26
  clusterIPs:
    - 10.233.15.26
  type: ClusterIP
  sessionAffinity: None
  ipFamilies:
    - IPv4
  ipFamilyPolicy: SingleStack
  internalTrafficPolicy: Cluster

4.应用路由

创建好的yaml

kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
  name: elasticsearch
  namespace: gitee
  annotations:
    kubesphere.io/creator: admin
spec:
  rules:
    - host: k8s.els.com
      http:
        paths:
          - path: /
            pathType: ImplementationSpecific
            backend:
              service:
                name: elasticsearch
                port:
                  number: 9200

修改hosts
集群ip 自定义域名
在这里插入图片描述

访问k8s.els.com出现一下信息标识els部署成功
在这里插入图片描述

5.部署Kibana

服务-无状态服务
名称:kibana
在这里插入图片描述

这里使用的是kibana:7.17.15版本
cpu、内存 根据情况分配

在这里插入图片描述

使用默认进行端口
同步主机时区

在这里插入图片描述

添加环境变量

ELASTICSEARCH_HOSTS=http://elasticsearch.gitee:9200

这个值并不是固定值而是根据实际情况取到的值,不知道怎么获取的往下继续看

在这里插入图片描述

找到服务中部署的elasticsearch
http://elasticsearch.gitee:9200
就是服务中的DNS加端点的端口号

至于DNS为什么是elasticsearch.gitee拆分出来就是,elasticsearch=服务名,gitee为项目名称

为什么kibana要填http://elasticsearch.gitee:9200这个路径呢,是因为k8s内部服务相互通信时可以直接通过服务进行内部访问

在这里插入图片描述

回到kibana中继续创建,一直下一步下一步 然后直接创建(这里没选外部端口是因为用域名访问更方便所以用应用路由)
在这里插入图片描述

创建应用路由
名称:kibana
域名:k8s.kibana.com
在这里插入图片描述

修改自己电脑的hosts访问k8s.kibana.com出现以下内容代表部署成功

![[image-20241013163454085.png]]


补充:设置kibana为中文

  1. 添加配置字典
    名称:kibana-conf
    键:kibana-conf
    值:
#
# ** THIS IS AN AUTO-GENERATED FILE **
#

# Default Kibana configuration for docker target
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch.gitee:9200" ]
i18n.locale: "zh-CN"

在这里插入图片描述
2. 修改kibana工作负载
挂载配置字典
在这里插入图片描述
3. 选择刚刚添加的配置字典
路径:/usr/share/kibana/config/kibana.yml
指定子路径:kibana.yml
特定值:kibana.yml
在这里插入图片描述
4. 等待重新部署成功在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/894516.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

面试:了解 ThreadLocal 内存泄漏需要满足的 2 个条件吗?

欢迎关注公众号 【11来了】(文章末尾即可扫码关注) ,持续 中间件源码、系统设计、面试进阶相关内容 在我后台回复 「资料」 可领取 编程高频电子书! 在我后台回复「面试」可领取 30w 字的硬核面试笔记! 感谢你的关注&…

Vim工具使用( Linux 网络操作系统 07)

1 概念部分 vim是vimsual interface的简称,它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。这是其他编辑程序所没有的。vim不是一个排版程序,它不像Word或WPS那样可以对字体、格式、段落…

记录 ruoyi-vue-plus在linux 部署遇到的问题

整理 linux 文件不要放在 /, 根目录下,要放在 home 文件夹下。docker 启动mysql 容器,映射的 my.cnf 文件不能设置太高权限,权限太高有安全问题,无法读取。 linux 使用注意事项 docker 文件夹 部署在home文件夹下 总结学习到的…

linux的随机化处理

Linux的随机化处理(或称为地址空间布局随机化,ASLR)是一种安全特性,旨在提高系统对抗攻击的能力,尤其是缓冲区溢出和代码注入攻击。随机化处理通过改变进程在内存中的布局来减少攻击者利用漏洞的可能性。 随机化处理的…

SOLIDWORKS参数化软件

在产品设计和工程领域,参数化设计是一种革命性的方法,它允许设计者通过定义一系列规则和关系来创建和修改模型。参数化设计的核心在于将设计过程分解为一系列可调整的参数,如尺寸、形状、材料属性等,这些参数之间通过数学关系相互…

【北京迅为】《STM32MP157开发板嵌入式开发指南》- 第四十九章 平台总线总结回顾

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐…

Anaconda虚拟环境安装cuda和pytorch

首先电脑上要有Anaconda,使用conda创建一个虚拟环境,并激活 conda create yolov8 conda activate yolov8winR输入cmd,在命令窗口输入 NVIDIA-smi可以查看到自己电脑支持的cuda环境,如下图 再打开torch的官网 pytorch官网 查看目前支持的版…

C++ MFC 标准库 加密解密解惑

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&am…

第五届光学与图像处理国际学术会议(ICOIP 2025)征稿中版面有限!

第五届光学与图像处理国际学术会议(ICOIP 2025) 2025 5th International Conference on Optics and Image Processing (ICOIP 2025) 重要信息 时间地点:2025年4月25-27日丨中国西安 截稿日期:2024年12月16日23:59 …

Java项目-基于Springboot的应急救援物资管理系统项目(源码+说明).zip

作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 开发运行环境 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/…

【数据结构与算法】力扣 54. 螺旋矩阵

问题描述 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入: matrix [[1,2,3],[4,5,6],[7,8,9]] 输出: [1,2,3,6,9,8,7,4,5]示例 2: 输入: ma…

【C++】deque(空间适配器))

适配器 适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结),该种模式是将一个类的接口转换成客户希望的另外一个接口。 STL标准库中stack和queue的底层结构 deque原理介绍 deque(双端队列):是一种…

Visual Studio2022 无法打开源文件

今天在新电脑上安装了Visual Studio2022,但是无法打开多个源文件,网上搜索都是说重新安装Windows SDK 我最开始安装的sdk版本是win11SDK 修改成其他版本后也没有解决问题 最后安装了Windows 10 SDK 10.0.20348.0 这个版本,成功解决问题。 有…

快速了解kubernetes中的存储管理

目录 一 configmap 1.1 configmap的功能 1.2 configmap的使用场景 1.3 configmap创建方式 1.3.1 字面值创建 1.3.2 通过文件创建 1.3.3 通过目录创建 1.3.4 通过yaml文件创建 1.3.5 configmap的使用方式 1.3.5.1 使用configmap填充环境变量 1.3.5.2 通过数据卷使用c…

大数据-173 Elasticsearch 索引操作 增删改查 详细 JSON 操作

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

【ESP32-IDFV5.3.1开发】带SSL的MQTT-demo连接教程

目录 1.VSCODE以及IDF环境配置(略) 2.准备demo 2.1打开VSCODE,主菜单创建示例 找到SSL对应demo,点击创建,并成功创建项目,点击编译,显示编译成功即可以下一步。 确认该demo支持的开发板是你手上的开发板 3.修改demo配置项 3.1插上开发板,点击底部开发工具,分别配置好烧…

Maya---骨骼绑定

调节骨骼大小 回车键确认骨骼 FK子集跟父集走 IK子集不跟父集走 前视图中按shift键添加骨骼 清零、删除历史记录,创建新的物体

Go 设置并发控制数量 【go并发模型】

背景:go的并发控制也是老生常谈,在公司业务中也是经常出现 谈谈我们这次并发模型的适用场景:要处理的任务很多比如有10000个,没开并发的时候我们要一个一个进行执行这个时候其实无论是cpu压力还是数据库和redis压力都比较小也就是…

CTFHUB技能树之HTTP协议——响应包源代码

开启靶场,打开链接: 是个贪吃蛇小游戏,看不出来有什么特别的地方 用burp抓包看看情况: 嗯?点击“开始”没有抓取到报文,先看看网页源代码是什么情况 居然直接给出flag了,不知道这题的意义何在 …

C++初阶(五)--类和对象(中)--默认成员函数

目录 一、默认成员函数(Default Member Functions) 二、构造函数( Constructor) 1.构造函数的基本概念 2.构造函数的特征 3.构造函数的使用 无参构造函数 和 带参构造函数 注意事项: 4.默认构造函数 隐式生成的…