基于CentOS7安装kubesphere和Kubernetes并接入外部ES收集日志
一、修改所有节点主机名
主节点就修改成master
hostnamectl set-hostname master
然后输入bash刷新当前主机名
工作节点1就修改成node1
hostnamectl set-hostname node1
然后输入bash刷新当前主机名
二、全部节点安装依赖并同步时间
yum -y install socat conntrack ebtables ipset
yum install ntpdate -y
同步时间
ntpdate time.windows.com
三、下载 KubeKey
3.1 选择中国时区
export KKZONE=cn
3.2 执行以下命令下载 KubeKey
curl -sfL https://get-kk.kubesphere.io | VERSION=v3.0.13 sh –
注意:
节点要求
- 所有节点必须都能通过 SSH 访问。
- 所有节点时间同步。
- 所有节点都应使用 sudo/curl/openssl/tar
3.3 为 kk 添加可执行权限
chmod +x kk
3.4 创建集群
3.5 创建示例配置文件
我这里kubesphere选了3.4.1版本,如果不指定 Kubernetes 版本,KubeKey 将默认安装 Kubernetes v1.23.10
./kk create config --with-kubernetes v1.23.0 --with-kubesphere v3.4.1 -f k8s/自定义文件名.yaml
3.6 修改生成的yaml文件
只修改主机名、IP地址、用户名密码,区分工作节点与主节点,其他不变
3.7 运行以下命令安装集群
./kk create cluster -f k8s/文件名.yaml
如果出现无法下载镜像包,那就配置一下dockers的加速器
cat /etc/docker/daemon.json
{"exec-opts": ["native.cgroupdriver=systemd"],"registry-mirrors": ["https://docker.1ms.run","https://docker.m.daocloud.io","https://docker.1panel.top"],"live-restore": true,"log-driver": "json-file","log-opts": {"max-size": "500m","max-file": "3"},"max-concurrent-downloads": 10,"max-concurrent-uploads": 5}
重启dockers服务
systemctl daemon-reload && systemctl restart docker
最后出现这个就是装好了
四、安装Elasticsearch收集pod日志
4.1 服务器优化
4.1.1、调整最大文件数到65535
vi /etc/security/limits.conf
* hard nofile 65535
* soft nofile 65535
通过ulimit -n命令查看
4.1.2、修改vm.max_map_count
修改/etc/sysctl.conf文件,再文件末尾加上
vm.max_map_count=655360
并执行sysctl -p,使修改文件部分生效。
4.1.3、创建用户
Elasticsearch不允许root用户启动,需要创建es专用账号
groupadd elastic
useradd elastic -g elastic
#设置用户密码
passwd elastic
4.1.4创建数据目录
mkdir -p /data/elastic/data
mkdir -p /data/elastic/logscd /data/elastic/
#下载elasticsearch软件包;wget -c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.0-linux-x86_64.tar.gz#tar解压elasticsearch软件包;tar -xzvf elasticsearch-7.17.0-linux-x86_64.tar.gzchown -R elastic:elastic /data/elastic
安装jdk
wget -c https://download.oracle.com/otn/java/jdk/8u441-b07/7ed26d28139143f38c58992680c214a5/jdk-8u441-linux-x64.tar.gz?AuthParam=1740191829_6b95284f0978b16082f95c598ba9fc01
解压到指定目录
tar -zxvf jdk-8u441-linux-x64.tar.gz -C /usr/local/
配置jdk环境变量
export JAVA_HOME=/usr/local/jdk1.8.0_441
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
source /etc/profile
切换用户
su – elastic
据服务器配置修改jvm.options中的Xms、Xmx
我的服务器是32G
这里修改jvm占用内存 ,例如修改为8g
-Xms8g
-Xmx8g
注意把这两个参数的空格去掉,不然会报错4.1.5
4.1.5 修改elasticsearch.yml配置文件
配置相关信息并开启安全认证(可选,我取消证书认证了)
cluster.name: 集群名node.name: node-1path.data: /data/elastic/datapath.logs: /data/elastic/logsnetwork.host: 0.0.0.0http.port: 9200discovery.seed_hosts: ["主机IP"]cluster.initial_master_nodes: ["node-1"]http.cors.enabled: truehttp.cors.allow-origin: "*"http.cors.allow-headers: Authorizationingest.geoip.downloader.enabled: false#开启安全认证配置(可选,我取消证书认证了)xpack.security.enabled: truexpack.security.transport.ssl.enabled: truexpack.security.transport.ssl.verification_mode: certificatexpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
如果是集群可以在任意节点生成证书(可选,我取消证书认证了)
为Elasticsearch集群创建一个证书颁发机构。(可选,我取消证书认证了)
bin/elasticsearch-certutil ca ,Please enter the desired output file [elastic-stack-ca.p12]: #这里直接回车即可
Enter password for elastic-stack-ca.p12 : #这里直接回车即可,不要设置密码
之后会看到新生成的文件 elastic-stack-ca.p12
生成私钥(可选,我取消证书认证了)
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
下面三项直接回车即可:
Enter password for CA (elastic-stack-ca.p12) :
Please enter the desired output file [elastic-certificates.p12]:
Enter password for elastic-certificates.p12 : #这里直接回车即可,不要设置密码,否则后面ES会启动不了
Certificates written to /……/elastic-certificates.p12
设置完毕后,会在当前目录 下看到新生成的文件:elastic-certificates.p12
创建文件夹certs放置私钥(可选,我取消证书认证了)
mkdir config/certs
cp elastic-certificates.p12 config/certs
如果是集群,将生成的证书拷贝到其他节点的相同目录即可。启动esbin/elasticsearch (初次不加-d 静默启动,便于观察日志)
可以看到除了有些告警以外,es可以正常启动
然后设置密码
[elastic@server elasticsearch-7.17.0]$ bin/elasticsearch-setup-passwords interactivewarning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOMEFuture versions of Elasticsearch will require Java 11; your Java version from [/usr/local/jdk1.8.0_441/jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.You will be prompted to enter passwords as the process progresses.Please confirm that you would like to continue [y/N]yEnter password for [elastic]:Reenter password for [elastic]:Enter password for [apm_system]:Reenter password for [apm_system]:Enter password for [kibana_system]:Reenter password for [kibana_system]:Enter password for [logstash_system]:Reenter password for [logstash_system]:Enter password for [beats_system]:Reenter password for [beats_system]:Enter password for [remote_monitoring_user]:Reenter password for [remote_monitoring_user]:Changed password for user [apm_system]Changed password for user [kibana_system]Changed password for user [kibana]Changed password for user [logstash_system]Changed password for user [beats_system]Changed password for user [remote_monitoring_user]Changed password for user [elastic]
按个人需求输入密码即可。
ES中内置的用户:
- elastic 账号:拥有 superuser 角色,是内置的超级用户。
- kibana 账号:拥有 kibana_system 角色,用户 kibana 用来连接 elasticsearch 并与之通信。Kibana 服务器以该用户身份提交请求以访问集群监视 API 和 .kibana 索引。不能访问 index。
- logstash_system 账号:拥有 logstash_system 角色。用户 Logstash 在 Elasticsearch 中存储监控信息时使用。
- beats_system账号:拥有 beats_system 角色。用户 Beats 在 Elasticsearch 中存储监控信息时使用。
- elastic是超级用户,它可以做任何事情
4.1.6 验证ES是否正常
curl -XGET --user elastic:elastic http://节点IP:9200/_cluster/health?pretty
将kubesphere默认的日志接收器换成外部ES
在定制资源定义中找到 ClusterConfiguration ---ks-installer配置文件截图
修改es部分保存即可
修改OutPut部分
- 这个文件不支持显示明文用户密码,所以需要先创建secret保存用户密码
kubectl create secret generic elasticsearch-credentials --from-literal=username=elastic --from-literal=password=elastic -n kubesphere-logging-system -v=8
- 修改修改OutPut文件
key: username # 使用 Secret 中的键名
name: elasticsearch-credentials # 确保密钥名称正确
key: password # 使用 Secret 中的键名
name: elasticsearch-credentials # 确保密钥名称正确
然后查看fluent-bit的pod是否将日志推送到外部ES,并且kubesphere是否能正常显示ES收集的日志
我这已经成功使用外部ES收集并显示日志
注意ES配置证书后,kubesphere访问有点麻烦,所以我的ES取消证书认证了,只配置了密码
相关文章:

基于CentOS7安装kubesphere和Kubernetes并接入外部ES收集日志
一、修改所有节点主机名 主节点就修改成master hostnamectl set-hostname master 然后输入bash刷新当前主机名 工作节点1就修改成node1 hostnamectl set-hostname node1 然后输入bash刷新当前主机名 二、全部节点安装依赖并同步时间 yum -y install socat conntrack ebta…...

软考教材重点内容 信息安全工程师 第17章 网络安全应急响应技术原理与应用
17.1 网络安全应急响应概述 网络安全应急响应是针对潜在发生的网络安全事件而采取的网络安全措施。 17.1.1 网络安全应急响应概念 网络安全应急响应是指为应对网络安全事件,相关人员或组织机构对网络安全事件进行监测、预警、分析、响应和恢复等工作。 17.2.3 网络安…...
使用 DeepSeek + OmniParser v2 + UIAutomation 实现 GUI 应用自动化测试的探索
一、背景 UI 自动化测试一直是软件开发中的难点之一。尽管有许多工具和技术(如 Selenium、Appium 等)可以帮助我们实现自动化测试,但这些工具在面对复杂的 UI 变化时,往往需要大量的维护工作。随着人工智能技术的进步,尤其是自然语言处理(NLP)和计算机视觉(CV)技术的…...
Spring Security面试题
Spring Security面试题 基础概念 Q1: Spring Security的核心功能有哪些? public class SecurityBasicDemo {// 1. 基本配置public class SecurityConfigExample {public void configDemo() {ConfigurationEnableWebSecuritypublic class SecurityConfig extends …...
从零开始构建基于DeepSeek的智能客服系统
在当今的数字化时代,智能客服系统已经成为企业与客户沟通的重要桥梁。它不仅能够提升客户体验,还能大幅降低企业的运营成本。本文将带领你从零开始,使用PHP和DeepSeek技术构建一个功能强大的智能客服系统。我们将通过具体的案例和代码示例,深入探讨如何实现这一目标。 1. …...
Linux故障排查和性能优化面试题及参考答案
目录 如何查看 Linux 系统中的 CPU、内存、磁盘等资源使用情况? 什么是 Linux 中的负载(Load Average)?如何解读它? 如何通过 top 和 htop 命令监控系统性能? 如何使用 mpstat 命令来查看 CPU 的利用情况? 如何分析系统 CPU 瓶颈? 如何分析 CPU 瓶颈?如何优化 CP…...

【无人集群系列---大疆无人集群技术进展、技术路线与未来发展方向】
大疆无人集群技术进展、技术路线与未来发展方向 一、技术进展1. 核心技术创新(1)集群协同控制技术(2)感知与能源系统升级 2. 行业应用落地(1)智慧城市与安防(2)应急救援(…...

【亲测有效】百度Ueditor富文本编辑器添加插入视频、视频不显示、和插入视频后二次编辑视频标签不显示,显示成img标签,二次保存视频被替换问题,解决方案
【亲测有效】项目使用百度Ueditor富文本编辑器上传视频相关操作问题 1.百度Ueditor富文本编辑器添加插入视频、视频不显示 2.百度Ueditor富文本编辑器插入视频后二次编辑视频标签不显示,在编辑器内显示成img标签,二次保存视频被替换问题 问题1࿱…...
ubuntu windows双系统踩坑
我有个台式机,先安装的ubuntu,本来想专门用来做开发,后面儿子长大了,给他看了一下星际争霸、魔兽争霸,立马就迷上了。还有一台windows的笔记本,想着可以和他联局域网一起玩,在ubuntu上用wine跑魔…...

嵌入式八股文(五)硬件电路篇
一、名词概念 1. 整流和逆变 (1)整流:整流是将交流电(AC)转变为直流电(DC)。常见的整流电路包括单向整流(二极管)、桥式整流等。 半波整流:只使用交流电的正…...
flink使用demo
1、添加不同数据源 package com.baidu.keyue.deepsight.memory.test;import com.baidu.keyue.deepsight.memory.WordCount; import com.baidu.keyue.deepsight.memory.WordCountData; import org.apache.flink.api.common.RuntimeExecutionMode; import org.apache.flink.api.…...

OpenCV(8):图像直方图
在图像处理中,直方图是一种非常重要的工具,它可以帮助我们了解图像的像素分布情况。通过分析图像的直方图,我们可以进行图像增强、对比度调整、图像分割等操作。 1 什么是图像直方图? 图像直方图是图像像素强度分布的图形表示&am…...

力扣LeetCode:1656 设计有序流
题目: 有 n 个 (id, value) 对,其中 id 是 1 到 n 之间的一个整数,value 是一个字符串。不存在 id 相同的两个 (id, value) 对。 设计一个流,以 任意 顺序获取 n 个 (id, value) 对,并在多次调用时 按 id 递增的顺序…...

NGINX配置TCP负载均衡
前言 之前本人做项目需要用到nginx的tcp负载均衡,这里是当时配置做的笔记;欢迎收藏 关注,本人将会持续更新 文章目录 配置Nginx的负载均衡 配置Nginx的负载均衡 nginx编译安装需要先安装pcre、openssl、zlib等库,也可以直接编译…...
vm和centos
安装 VMware Workstation Pro 1. 下载 VMware Workstation Pro 访问 VMware 官方网站(https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html ),在该页面中点击 “立即下载” 按钮,选择适合你操作…...

c#丰田PLC ToyoPuc TCP协议快速读写 to c# Toyota PLC ToyoPuc读写
源代码下载 <------下载地址 历史背景与发展 TOYOPUC协议源于丰田工机(TOYODA)的自动化技术积累。丰田工机成立于1941年,最初是丰田汽车的机床部门,后独立为专注于工业机械与控制系统的公司。2006年与光洋精工(Ko…...

量子计算的数学基础:复数、矩阵和线性代数
量子计算是基于量子力学原理的一种新型计算模式,它与经典计算机在信息处理的方式上有着根本性的区别。在量子计算中,信息的最小单位是量子比特(qubit),而不是传统计算中的比特。量子比特的状态是通过量子力学中的数学工具来描述的,因此,理解量子计算的数学基础对于深入学…...
【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter22-处理 XML
二十二、处理 XML 处理 XML XML 曾一度是在互联网上存储和传输结构化数据的标准。XML 的发展反映了 Web 的发展,因为DOM 标准不仅是为了在浏览器中使用,而且还为了在桌面和服务器应用程序中处理 XML 数据结构。在没有 DOM 标准的时候,很多开发…...

一个不错的API测试框架——Karate
Karate 是一款开源的 API 测试工具,基于 BDD(行为驱动开发)框架 Cucumber 构建,但无需编写 Java 或 JavaScript 代码即可直接编写测试用例。它结合了 API 测试、模拟(Mocking)和性能测试功能,支持 HTTP、GraphQL 和 WebSocket 等协议,语法简洁易读。 Karate详细介绍 K…...

文字语音相互转换
目录 1.介绍 2.思路 3.安装python包 3.程序: 4.运行结果 1.介绍 当我们使用一些本地部署的语言模型的时候,往往只能进行文字对话,这一片博客教大家如何实现语音转文字和文字转语音,之后接入ollama的模型就能进行语音对话了。…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...