在 Kubernetes 上用 Fluent Bit 收集 Nginx 日志到 Easysearch
本文基于 k3s + Easysearch 2.0.3 实测验证,从零开始搭建一套完整的日志收集方案。 什么是 Fluent BitFluent Bit 是一个轻量级的日志收集和转发工具,用 C 语言写的,内存占用极低(通常只需要几十 MB)。它的工作很简单:从某个地方读日志(INPUT),可选地处理一下(FILTER),然后发到某个地方(OUTPUT)。 12INPUT → FILTER → OUTPUT读日志 处理 发送 常见用法: 从文件读日志(tail 插件,类似 tail -f) 从容器 stdout 读日志 发送到 Elasticsearch / Easysearch / Kafka / S3 等 和 Fluentd 的区别:Fluent Bit 更轻量(C 语言 vs Ruby),适合作为 Agent 部署在每个节点或 Pod 里。Fluentd 功能更丰富,适合做日志聚合层。在 Kubernetes 场景下,Fluent Bit 是更常见的选择。 什么是 EasysearchINFINI Easysearch ...
在AWS EC2 上从零搭建 Kubernetes 集群(kubeadm)
今天讲解在AWS EC2 上使用kubeadm搭建Kubernetes 集群。 kubeadm 是 Kubernetes 官方提供的集群引导工具,用来快速创建符合最佳实践的 K8s 集群。除了初始化集群,它还能做节点的升级、降级等生命周期管理。用 kubeadm 建集群是学习 K8s 的推荐方式,也适合搭建小规模集群或作为更复杂企业级方案的基础组件。 本文基于 Ubuntu,使用三台 EC2 实例:一台作为控制面(Master),两台作为工作节点(Worker)。 我们会在 Master 节点上从头安装 kubeadm 及其依赖,然后初始化集群,最后把 Worker 节点加入进来。 这几台 EC2 使用同一个安全组,入站规则只放行VPC网段和终端访问地址。 第一步:安装 kubeadm 及其依赖以下操作在 Master 节点上执行(Worker 节点如果还没装也要跑一遍)。 1. 关闭 swapkubelet 需要精确管理 Pod 的内存,swap 会让内存数据不准确,导致调度器做出错误判断。kubelet 默认检测到 swap 开着就拒绝启动。 1234# 关闭 s...
修复 GitHub Pages 推送后 CNAME 自动重置旧域名的问题
Hexo 使用Github action 部署后 GitHub Pages 域名自动变成已经取消的实效的域名,而不是预期的 *.github.io 排查之后是source/CNAME 文件中配置了旧域名 airag.click 删除 CNAME 文件后重新部署就可以解决 1rm source/CNAME CNAME 文件会被 Hexo 复制到生成目录,告诉 GitHub Pages 使用自定义域名 删除后将使用默认的 <username>.github.io 域名
k3s + Helm 部署 Easysearch
最近学了K8S,为了测试方便测试搭了一个K3S集群,然后使用helm运行一下Easysearch。 参考文档:https://docs.infinilabs.com/easysearch/main/docs/deployment/install-guide/helm/ 首先添加helm仓库并更新。 12helm repo add infinilabs https://helm.infinilabs.comhelm repo update 然后新建命名空间,我这里叫做es(下同),也可以使用其他名字。 1kubectl create namespace es Easysearch 依赖 cert-manager 来处理证书。使用这个命令来安装。 1kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.13.3/cert-manager.yaml 否则就会收到如下报错。 1234567resource mapping not found for name: "...
k8s yml小抄
源码来自 cloudacademy/intro-to-k8s,用作学习笔记 1. Pod 基础1.1 最简 Pod(1.1-basic_pod.yaml)12345678apiVersion: v1kind: Podmetadata: name: mypodspec: containers: - name: mycontainer image: nginx:latest 这是最小化的 Pod 定义。只需要四个顶级字段: apiVersion: v1 — 核心 API 版本 kind: Pod — 资源类型 metadata.name — Pod 名称,命名空间内唯一 spec.containers — 至少一个容器,必须指定 name 和 image 注意:使用 nginx:latest 时,Kubernetes 默认 imagePullPolicy: Always,每次启动都会拉取镜像。 1.2 声明端口(1.2-port_pod.yaml)12345678910apiVersion: v1kind: Podmetadata: name: ...
开源OpenSearch学习笔记|部署篇(二):Kubernetes 上用 Helm 快速搭建 OpenSearch.
OpenSearch 是一个开源的分布式搜索和分析引擎,适用于日志分析、全文检索、应用监控等场景。本文将介绍如何使用 Helm 在 Kubernetes 集群上快速部署 OpenSearch 及 OpenSearch Dashboards,并通过 Secret 管理密码,避免将敏感信息硬编码在配置文件中。本文的 K8S 环境基于 Amazon EKS,部分步骤涉及 EBS CSI Driver 的配置,如果你使用其他 K8S 发行版可以跳过相关内容。 添加 Helm 仓库官方提供了helm包,这使得我们可以很方便的下载OpenSearch的helm chart并且进行更新下载: 12helm repo add opensearch https://opensearch-project.github.io/helm-charts/helm repo update 创建 Secret 管理密码安装文档上来说,我们需要在value.yml里添加我们的密码,不过在我看来这不是一个比较优雅的做法,于是我采取了使用secret的方式来管理密码,这样可以把密码和Helm Chart进行解...
懒猫微服实战入门(三十六):懒猫微服QEMU虚拟机快速上手
对于 NAS 玩家来说,虚拟机绝对是标配。今天我们要介绍的主角是 QEMU。你可能会觉得它太过底层、全命令行操作太硬核,但别担心,看过这篇文章之后,你就能轻松在懒猫微服上操作它。 在传统 Linux 下装 QEMU,你可能要折腾一堆 kvm-ok 检测、各种动态库依赖。但在懒猫微服上,直接从商店下载即可。这就是全容器化的好处:环境全封闭,不会把宿主机的依赖搞坏,不用再和底层依赖打交道,这就是懒猫微服全容器化的好处,彻底解决了让人头疼的环境问题。 和其他虚拟机一样,我们需要一个 ISO 镜像。QEMU 厉害的地方在于它对镜像来源几乎从不挑剔 可以直接填入官网的 ISO 下载链接,边下边装,省去中间转手的麻烦。 如果你的镜像在电脑里,或者在 NAS 上,那么可以直接在存放镜像的文件夹下打开终端,用一行 Python 命令把它变成“下载站”: 12# 进入镜像文件夹执行,默认开启 8000 端口python -m http.server 8000 然后在 QEMU 的镜像地址里填入:http://你的电脑IP:8000/ubuntu-22.04.iso。 在懒猫微服的界面上,...
Easysearch 数据映射之 Deep Dive:我踩过的 Volume 坑
最近在用 Docker 部署 Easysearch,本以为是个简单的事情,结果在数据持久化上栽了跟头,每次停止再启动容器之后都会503,在后面成了我百思不得其解的问题,后来一直在某次的meetup中,请教了原厂的罗老师,一句话点醒梦中人,Easysearch用的具名卷,防止宿主机的数据覆盖容器里的数据。 数据映射的尝试volume 和 bind 我就纠结了好久,以前习惯使用的是bind的方式。 12345docker run -d \ -v ./node1/data:/app/easysearch/data \ -v ./node1/logs:/app/easysearch/logs \ -v ./node1/config:/app/easysearch/config \ infinilabs/easysearch:2.0.2-2499 然后… 起不来。 1docker logs easysearch-node1 日志里提示 JVM 配置文件找不到,服务启动失败返回 503。原因:宿主机的 ./node1/config 是空目录,Bind Mount 把它挂进去后...
超效率手册
周/日 计划 限制时间做事(30-90min) 紧迫感、 任务分解 短跑。起床坚持10分钟,其他事再坚持20分钟休息。 短跑30天习惯 日程校对,相信自己要做的事情。完全日程,避免过度工作和拖延。 自律。停下来之前再坚持10分钟。下次做事再坚持10-20%,专注一件事 语录刺激生产效率(便利贴 目标还是否能激励?有没有把生产力当作借口? 目标列出来看,承诺,便利贴看见 收集想法再整理剔除 尽可能的减少干扰 想要做/不去做。拒绝应该做。 先做收到反馈再调整 占据你时间但是价值的事情 根除或者压缩时间 事情条理性,定期维护 任务和物品整理好固定位置。(少混乱,少压力) 随时把想法记录下来(捕捉灵感 所有物品规定地方(和16差不读 GTD组织系统(项目-任务-活动) 项目:大类 任务:小的独立的行动。(总体待办/周目标/日目标) 活动:特定时间干的事(避免周日历太多) 写下目标,1. 不会遗忘。2. 有动力实现 3.模糊的想法变成具体目标 没有完美的系统就是设置分支,多文件夹 或者 决策的if e...
给Macbook Pro安装Fedora Asahi Remix
16G的Macbook 经常出问题,应该是内存太小吧,所以安装一个Linux做双系统吧,Asahi搞定UEFI这层,本质上还是Fedora。 起码目前阶段对我的M2 Macbook 兼容还不错,打算尝尝鲜。 没找到图形化安装或者ISO,只找到这个命令来做安装。 1curl https://alx.sh | sh 纯CLI的安装方式其实没那么太友好,一开始显示还有200多G的空间但是 查看本地快照在终端中运行: 1tmutil listlocalsnapshots / 删除所有本地快照方法 A(推荐): 批量删除所有快照 1tmutil listlocalsnapshotdates | grep "-" | xargs -n1 sudo tmutil deletelocalsnapshots 方法 B: 逐个删除(如果方法 A 无效) 1sudo tmutil deletelocalsnapshots 2024-01-15-123456 验证清理结果1tmutil listlocalsnapshots / 应该显示为空或 “No local ...
