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

基于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部分

    1. 这个文件不支持显示明文用户密码,所以需要先创建secret保存用户密码

    kubectl create secret generic elasticsearch-credentials --from-literal=username=elastic --from-literal=password=elastic -n kubesphere-logging-system -v=8

    1. 修改修改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&#xff1…...

    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协议源于丰田工机&#xff08;TOYODA&#xff09;的自动化技术积累。丰田工机成立于1941年&#xff0c;最初是丰田汽车的机床部门&#xff0c;后独立为专注于工业机械与控制系统的公司。2006年与光洋精工&#xff08;Ko…...

    量子计算的数学基础:复数、矩阵和线性代数

    量子计算是基于量子力学原理的一种新型计算模式,它与经典计算机在信息处理的方式上有着根本性的区别。在量子计算中,信息的最小单位是量子比特(qubit),而不是传统计算中的比特。量子比特的状态是通过量子力学中的数学工具来描述的,因此,理解量子计算的数学基础对于深入学…...

    【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter22-处理 XML

    二十二、处理 XML 处理 XML XML 曾一度是在互联网上存储和传输结构化数据的标准。XML 的发展反映了 Web 的发展&#xff0c;因为DOM 标准不仅是为了在浏览器中使用&#xff0c;而且还为了在桌面和服务器应用程序中处理 XML 数据结构。在没有 DOM 标准的时候&#xff0c;很多开发…...

    一个不错的API测试框架——Karate

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

    文字语音相互转换

    目录 1.介绍 2.思路 3.安装python包 3.程序&#xff1a; 4.运行结果 1.介绍 当我们使用一些本地部署的语言模型的时候&#xff0c;往往只能进行文字对话&#xff0c;这一片博客教大家如何实现语音转文字和文字转语音&#xff0c;之后接入ollama的模型就能进行语音对话了。…...

    线程同步:确保多线程程序的安全与高效!

    全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

    视频字幕质量评估的大规模细粒度基准

    大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

    ServerTrust 并非唯一

    NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

    安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

    船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

    视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

    前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

    A2A JS SDK 完整教程:快速入门指南

    目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

    代码规范和架构【立芯理论一】(2025.06.08)

    1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...

    Python Einops库:深度学习中的张量操作革命

    Einops&#xff08;爱因斯坦操作库&#xff09;就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库&#xff0c;用类似自然语言的表达式替代了晦涩的API调用&#xff0c;彻底改变了深度学习工程…...

    Leetcode33( 搜索旋转排序数组)

    题目表述 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...

    【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)

    旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据&#xff01;该数据集源自2025年4月发表于《地理学报》的论文成果…...