avatar
文章
299
标签
67
分类
39
镜湖
时光线
标签
语录
赞赏
收藏
备注
关于我
镜湖
搜索
镜湖
时光线
标签
语录
赞赏
收藏
备注
关于我

镜湖

K8S 部署OpenSearch
发表于2026-04-02
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进行解...
让 OpenSearch 支持单点登录:从密码登录到 OpenID Connect
发表于2026-04-02|软件AWS
之前我们用 Helm 在 Kubernetes 上部署了 OpenSearch 集群,使用默认的数据库密码进行登录。今天来介绍如何接入 Amazon Cognito 作为 OpenID Connect(OIDC)身份提供商,让Dashboard 实现企业级 SSO 单点登录,同时让 OpenSearch API 也支持 JWT Token 认证。 OpenID Connect 的提供商我选择了 Amazon 的 Cognito,然后对应的Dashboards(前端跳转)和 OpenSearch Security(后端验证)都要单独来做集成。 OIDC 是通用协议,Cognito 只是本文选的提供商,换 Keycloak、Okta、Auth0 都一样 第一步:创建 Cognito App Client在 Cognito 控制台创建一个 App Client,因为我做了端口映射,所以回调和注销的URL都是localhost: 勾选”生成客户端密钥”(Generate client secret) 认证流程勾选:授权码授权(Authorization code grant)、U...
在 Kubernetes 上用 Fluent Bit 收集 Nginx 日志到 OpenSearch
发表于2026-03-24|OpenSearch
上一篇我们用 Helm 部署了 OpenSearch 集群和 Dashboards,这篇接着讲怎么用 Fluent Bit 把 Kubernetes 中 Nginx 的日志采集到 OpenSearch,并在 Dashboards 里查看和过滤。 本文假设你已经有一个运行中的 OpenSearch 集群,如果没有可以参考上一篇文章。 部署一个 Nginx 用于测试先部署一个简单的 Nginx 作为日志来源: 12kubectl create deployment nginx --image=nginxkubectl expose deployment nginx --port=80 安装 Fluent Bit添加 Helm 仓库: 12helm repo add fluent https://fluent.github.io/helm-chartshelm repo update Fluent Bit 的配置比较长,建议用 values 文件管理。创建 fluent-bit-values.yaml: 123456789101112131415161718192021222324...
月度TODO
发表于2026-03-17
2026.3 月度TODO 极限科技 4篇文章 懒猫微服 4篇文章 生活感悟1篇 纯技术文章 2篇 英语
Go 代理项目:14 周每日学习路线
发表于2026-03-15|软件
项目全貌一个从零开始的 Go 反向代理,分四个阶段进化成一个生产级 SRE 工具。每个阶段解决一类真实问题,边学语法边写功能。每周按 5 个工作日拆分,周末可以复习或补进度。 先说一下 gRPC你原始规划里提到了”协议升级:把 HTTP 请求转成 gRPC”。简单解释一下这是什么。 gRPC 是 Google 搞的一个远程过程调用(RPC)框架。普通的 HTTP API 用 JSON 传数据,人能读懂但体积大、解析慢。gRPC 用一种叫 Protocol Buffers(protobuf)的二进制格式传数据,体积小、速度快,而且跑在 HTTP/2 上,天然支持多路复用和流式传输。 在微服务架构里,服务之间的内部通信经常用 gRPC 而不是 HTTP+JSON,因为性能好很多。代理做”协议升级”的意思是:外部客户端发普通 HTTP+JSON 请求进来,代理把它转成 gRPC 格式发给后端微服务。这样外部用户不需要知道后端用的是 gRPC,代理帮你做了翻译。 gRPC 和普通 HTTP API 的区别在于三个层面。传输层:普通 HTTP API 跑在 HTTP/1...
在 Kubernetes 上用 Fluent Bit 收集 Nginx 日志到 Easysearch
发表于2026-03-11|极限科技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)
发表于2026-03-06|AWS
今天讲解在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 自动重置旧域名的问题
发表于2026-03-05|软件
部署后 GitHub Pages 域名自动变成已经取消的实效的域名,而不是预期的 *.github.io 排查之后是source/CNAME 文件中配置了旧域名 airag.click 删除 CNAME 文件后重新部署就可以解决 1rm source/CNAME CNAME 文件会被 Hexo 复制到生成目录,告诉 GitHub Pages 使用自定义域名 删除后将使用默认的 <username>.github.io 域名
k3s + Helm 部署 Easysearch
发表于2026-03-03|极限科技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小抄
发表于2026-03-02|软件
源码来自 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: ...
12…30
avatar
忘机山人
随手记
文章
299
标签
67
分类
39
GitHub
最新文章
K8S 部署OpenSearch2026-04-02
让 OpenSearch 支持单点登录:从密码登录到 OpenID Connect2026-04-02
在 Kubernetes 上用 Fluent Bit 收集 Nginx 日志到 OpenSearch2026-03-24
月度TODO2026-03-17
Go 代理项目:14 周每日学习路线2026-03-15
分类
  • AWS1
  • OpenSearch1
  • 懒猫微服92
    • 入门38
    • 容器5
    • 开发9
    • 排查3
    • 故事4
标签
Go OpenSearch 组网 DIY Docker SEO 家有吃货 Coco AI 电视盒子 Nginx ELK NAS 家庭网络 Isaac hexo 消防 读书 SSH PWA Python 网络 samba K8S 装修日记 电脑外设 随笔 AWS 北漂 LLM 生活 向量数据库 外设 Coco-AI Linux 开发 Hexo 硬件 代理 虚拟机 懒猫微服
归档
  • 四月 2026 2
  • 三月 2026 8
  • 二月 2026 16
  • 一月 2026 5
  • 十二月 2025 4
  • 十一月 2025 4
  • 十月 2025 16
  • 九月 2025 20
网站信息
文章数目 :
299
本站总字数 :
384.1k
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2022 - 2026 By 忘机山人框架 Hexo 8.1.1|主题 Butterfly 5.5.4
搜索
数据加载中