当前位置: 首页 > 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的模型就能进行语音对话了。…...

    python打卡day49

    知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

    ubuntu搭建nfs服务centos挂载访问

    在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

    【Go】3、Go语言进阶与依赖管理

    前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

    Go语言多线程问题

    打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

    【Android】Android 开发 ADB 常用指令

    查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

    C语言中提供的第三方库之哈希表实现

    一. 简介 前面一篇文章简单学习了C语言中第三方库&#xff08;uthash库&#xff09;提供对哈希表的操作&#xff0c;文章如下&#xff1a; C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...

    从面试角度回答Android中ContentProvider启动原理

    Android中ContentProvider原理的面试角度解析&#xff0c;分为​​已启动​​和​​未启动​​两种场景&#xff1a; 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​&#xff1a;当其他组件&#xff08;如Activity、Service&#xff09;通过ContentR…...

    LOOI机器人的技术实现解析:从手势识别到边缘检测

    LOOI机器人作为一款创新的AI硬件产品&#xff0c;通过将智能手机转变为具有情感交互能力的桌面机器人&#xff0c;展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家&#xff0c;我将全面解析LOOI的技术实现架构&#xff0c;特别是其手势识别、物体识别和环境…...

    深入浅出Diffusion模型:从原理到实践的全方位教程

    I. 引言&#xff1a;生成式AI的黎明 – Diffusion模型是什么&#xff1f; 近年来&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;领域取得了爆炸性的进展&#xff0c;模型能够根据简单的文本提示创作出逼真的图像、连贯的文本&#xff0c;乃至更多令人惊叹的…...

    学习一下用鸿蒙​​DevEco Studio HarmonyOS5实现百度地图

    在鸿蒙&#xff08;HarmonyOS5&#xff09;中集成百度地图&#xff0c;可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API&#xff0c;可以构建跨设备的定位、导航和地图展示功能。 ​​1. 鸿蒙环境准备​​ ​​开发工具​​&#xff1a;下载安装 ​​De…...