- 博客(216)
- 收藏
- 关注
原创 运维员工离职交接清单
这里以负责 Zabbix 的员工离职为例. 实际上这是通用的, 你可以将 Zabbix 替换为任何业务系统, 任何运维工具, 任何其他场景.
2025-04-30 11:19:34
260
原创 向商界大佬一样管理技术工作 - 以团队换将+技术重构为例
你是一个技术团队 Leader, 近期正在主导"去IOE", “国产替代”, “信创” 等技术重构工作. 但是在紧要关头, 一名下属因不可抗力离职, 并且因为之前"开源节流", 其所负责部分技术无备岗.最后需注意芒格的「多元思维模型」:保留10%预算应对未预见问题,例如发现某些遗留系统无法适配 乙系统 时需要开发定制解决方案。这时候, 我们就需要请出诸位著名的商界大佬杰夫·贝索斯、沃伦·巴菲特、查理·芒格作为器灵进行护法和加持.假设原系统为: A System, 切换后系统为: 乙系统。
2025-04-30 11:16:48
934
原创 关于全球化大规模混合云 Kubernetes Prometheus 监控体系标准化及 GitOps 自动化改进方案
综上,监控可以称得上:近期因监控覆盖不足(具体为某集群缺少了 url 监控部分的配置)导致告警漏报,对此进行了深入复盘,核心问题可归纳为两点:为避免此类问题再次发生,规划改进如下:
2025-04-13 19:54:29
1005
原创 管理大规模监控技术栈的最佳实践
集中化监控数据有助于打破信息孤岛,提供系统全景视图。例如 Salesforce 使用标准化仪表板,通过重复行、分页和自定义弹窗等功能,构建出可扩展的动态复杂仪表板(来源:《Salesforce 如何通过 Grafana 和 Prometheus 实现大规模服务健康管理》)。使用 OpenTelemetry 等开放标准进行检测,既能避免供应商锁定,又能实现全栈统一的上下文遥测数据(来源:《利用 OpenTelemetry 和 Grafana 实现 Kubernetes 应用的可观测、可视化与监控》)。
2025-04-12 21:31:34
326
原创 Grafana将弃用AngularJS-我们该如何迁移
AngularJS 支持已在 Grafana 9 中正式弃用。在 2024 年 5 月发布的 Grafana 11 中,所有 Grafana Cloud 和自托管安装默认关闭该功能。到 Grafana 12 版本时,将完全移除对 AngularJS 的支持,包括配置参数开关 angular_support_enabled。以下是分步迁移方案:检测是否使用 AngularJS 插件:更新插件至最新版本:许多插件已完成从 AngularJS 到 React 的升级,直接更新可能解决问题 Grafana 移除 A
2025-04-12 21:28:38
446
原创 我的家庭实验室服务器集群硬件清单
之前有热心读者想要了解我的家庭实验室服务器集群的硬件配置清单. 所以有这篇文章.📝声明不是广告, 不是推广, 不是软广.先放2张照片:📝声明确实没有理线天赋, 这已经是我理线的极限了, 求轻喷.😂网络一图左下亮绿光的: 瑞莎 Radxa E20C一图中下: 兮克 SKS3200M-8GPY1XF计算: 4台 N100 小主机(其实我还买过一堆RK ARM开发板, 虽然省电, 但是用起来比较麻烦, 有机会再折腾吧.)一图右下/中上/右上: 中柏 N100 Pro II 3台;
2025-03-28 12:25:04
1002
原创 如何设置家用威联通 NAS UPS 断电后自动关机并通知其他设备?
通过以上步骤,你应该能够实现:NAS 自动关机其他 Linux 设备 自动关机🎉🎉🎉。
2025-03-22 19:55:36
786
原创 在Windows电脑上快速运行AI大语言模型-Llama3
近期 Meta 发布了最新的 Llama3 模型,并开源了开源代码。Meta Llama 3 现已推出 8B 和 70B 预训练和指令调整版本,可支持广泛的应用程序。并且 Llama 3 在语言细微差别、上下文理解和翻译和对话生成等复杂任务方面表现出色。我们可以在 Windows 上快速运行 Llama3 8B 模型。📝Notes郑重声明: 本文几乎没有任何原创内容, 主要资料都来自于网上, 笔者只是总结自己实际可以运行起来的详细步骤, 供各位读者参考.Llmafile。
2024-04-20 14:54:20
1958
原创 如何监控容器或K8s中的OpenSearch
当前 OpenSearch 使用的越来越多, 但是 OpenSearch 生态还不尽完善.监控容器化或运行在 K8s 中的 OpenSearch我查了下, 官方还没有提供完备的方案.这里如何监控 K8s 中的 OpenSearch, 包括安装 exporter 插件、采集、展示全环节。OpenSearch 是一款开源的分布式搜索引擎(从 ElasticSearch 特定版本分叉而来),可以执行快速、可扩展的全文搜索、应用程序和基础设施监控、安全和事件信息管理、运营健康跟踪等用例。
2024-04-10 18:11:42
884
2
原创 Grafana系列-Loki-基于日志实现告警
实际应用中除了基于 Metrics 告警, 往往还有基于日志的告警需求, 可以作为基于 Metrics 告警之外的一个补充. 典型如基于 NGINX 日志的错误率告警.本文将介绍如何基于 Loki 实现基于日志的告警.基于 NGINX 日志的错误率告警基于 Nomad 日志的心跳异常告警(关于 Nomad 的介绍, 可以参见这篇文章:《大规模 IoT 边缘容器集群管理的几种架构 -2-HashiCorp 解决方案 Nomad》
2023-12-10 19:25:40
1349
原创 「译文」Google SRE 二十年的经验教训
二十年可以发生很多事情,尤其是当你忙于发展的时候。二十年前,谷歌有一对小型数据中心,每个中心有几千台服务器,通过一对 2.4G 网络链路环形连接。我们使用 Python 脚本(如 "Assigner"、"Autoreplacer "和 "Babysitter")运行我们的私有云(虽然当时我们并不这么称呼它),这些脚本在包含单个服务器名称的配置文件上运行。我们有一个小型的机器数据库(MDB),可以帮助整理和保存单个服务器的信息。
2023-11-06 11:25:06
452
原创 Terraform 系列-使用Dynamic Blocks对Blocks进行迭代
Terraform 系列文章介绍了使用 Grafana Terraform Provider, 基于 Terraform 的 IaC 方法论, 来批量自动化创建 Grafana 的各类资源, 包括 Dashboard/Datasource 等.现在有这么一个现实需求:出于权限控制的需求, 需要启用 Folder Permissions, 限制指定的某几个 team 可以有该 Folder 的 view 权限.该如何实现?🤔。
2023-10-31 16:20:28
415
原创 「译文」深入了解Kubernetes和Nomad
👉️✍️📝stack.io 产品管理主管 Rob Newsome 的特邀文章 在容器编排领域,Kubernetes 和 Nomad 都是响当当的产品,它们各自为容器编排提供了一种独特的方法…在领域,和都是响当当的产品,各自提供了一种独特的容器管理方法。以其详尽的功能和广泛的社区支持而闻名,已成为编排的标准。相反,则以简单高效为先,提供了一种精致、精简的方法。这种比较的本质是为读者提供一个清晰的视角,以辨别其中的差异,并根据自己的独特需求和环境背景做出明智的决定。
2023-10-27 11:03:29
378
原创 运行在容器中Postgres数据库数据损坏后如何恢复?
在使用 K8S 部署 RSS 全套自托管解决方案- RssHub + Tiny Tiny Rss, 我介绍了将 RssHub + Tiny Tiny RSS 部署到 K8s 集群中的方案. 其中 TTRSS 会用到 Postgres 存储数据, 也一并部署到 K8s 容器中.但是最近, 由于一次错误操作, 导致 Postgres 数据库的 WAL 损坏, Postgres 的 Pod 频繁 CrashBackoffLoop. 具体报错如下:如上, WAL文件已损坏, 应该如何恢复?
2023-09-27 16:47:55
669
原创 加密 K8s Secrets 的几种方案
你可能已经听过很多遍这个不算秘密的秘密了--Kubernetes Secrets 不是加密的!Secret 的值是存储在 etcd 中的base64 encoded(编码)字符串。这意味着,任何可以访问你的集群的人,都可以轻松解码你的敏感数据。任何人?是的,几乎任何人都可以,尤其是在集群的 RBAC 设置不正确的情况下。任何人都可以访问 API 或访问 etcd。
2023-09-18 17:59:22
629
原创 Docker 镜像库国内加速的几种方法
在国内,拉取 Docker 镜像速度慢/时不时断线/无账号导致限流等,比较痛苦😣. 这里提供加速/优化的几种方法。国内下载速度慢/时不时断线:是因为网络被限制了。没有公共镜像库账号导致限流:是因为 Docker Hub 等主流镜像库,近年来纷纷开始对未登录的匿名用户进行限流,限制拉取的速度,以及一定时间内拉取的镜像数量。为了解决以上问题,有这么几种方法:针对国内下载速度慢/时不时断线配置国内可用/速度尚可的 Docker Registry Mirrors。
2023-09-10 19:01:34
16607
4
原创 Nomad系列-Nomad网络模式
Nomad 的网络和 Docker 的也有很大不同, 和 K8s 的有很大不同. 另外, Nomad 不同版本(Nomad 1.3 版本前后)或是否集成 Consul 及 CNI 等不同组件也会导致网络模式各不相同. 本文详细梳理一下 Nomad 的主要几种网络模式在Nomad 1.3发布之前,它自身并不支持发现集群中运行的其他应用程序。在集群中调度任务时,这是一个非常基本的要求。Nomad依赖于Consul来发现其他“服务”,并为注册和获取服务记录提供一流的支持,这使得事情变得更容易。
2023-09-09 12:11:44
1076
原创 Nomad 系列-Nomad+Traefik+Tailscale 集成实现零信任安全
终于到了令人启动的环节了:Nomad+Traefik+Tailscale 集成实现零信任安全。Nomad 负责容器调度;(容器编排工具)Traefik 负责入口流量;(Ingress 工具)Tailscale 实现跨地域联通,4 层加密以及提供 HTTPS 证书。Traefik 是一个现代的 HTTP 反向代理和负载均衡器,使部署微服务变得容易。
2023-09-08 14:19:35
747
原创 Nomad 系列-Nomad 挂载存储卷
显然,如果 Nomad 要运行有状态存储,那么挂载存储卷就是必备功能。容器存储接口(CSI)插件Nomad 主机卷支持Docker Volume 驱动程序默认没有安装 CSI 的情况下,主要使用的是Nomad 主机卷方式。Nomad 的主机卷允许将 Nomad 客户端上的任何目录挂载到分配中。这些目录可以是客户机上的简单目录,但也可以是挂载文件系统,如 NFS 或 GlusterFS。然后可以将这些 mounts 连接到任务组中的各个任务。
2023-09-07 10:19:27
458
原创 Nomad 系列-快速上手
示例应用程序pytechco模拟在一家技术公司工作的员工。他们联机,完成任务,然后注销。跳转到本地计算机上示例 repo 的jobscd jobs下面每个组成应用程序的 jobspec 文件都将driver属性设置为docker,并使用image属性指定存储在 GHCR 中config块中的镜像。而 Redis 作业使用了 Docker Hub 上托管的官方 Redis 镜像。本文中,我们一起了解了 Nomad 的术语,并根据官方 Demo, 部署和更新了 Nomad Job。
2023-09-06 10:26:45
718
2
原创 Nomad 系列-安装
开新坑!近期算是把自己的家庭实验室环境初步搞好了,终于可以开始进入正题研究了。首先开始的是 HashiCorp Nomad 系列,欢迎阅读。关于 Nomad 的简介,之前在大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad有提到过,这里再快速过一遍:Nomad: 一个简单而灵活的(主要是容器,但有不至于容器的)调度器和编排器,可在内部和云端大规模部署和管理容器和非容器化的应用程序Nomad 使开发者能够使用声明式的基础设施即代码来部署应用程序。
2023-09-05 15:55:32
841
原创 大规模 IoT 边缘容器集群管理的几种架构-6-个人体验及推荐
HashiCorp 解决方案 --- Nomad + DockerKubeedge其中,Rancher + K3s 是基于且兼容 K8s 的解决方案;Kubeedge 是构建于 K8s 之上的,但是核心的 Kubeedge 架构是完全另外一套体系;而 Hashicorp 解决方案和 Portainer 解决方案可以说是和 K8s 没有关系,主要是基于 Docker 等容器的。而且也可以基于其他的驱动(如 podman 等等)单片 arm 开发板的情况,对以上的各个方案进行了深入的体验。
2023-08-27 15:37:12
549
原创 玩转 PI 系列-看起来像服务器的 ARM 开发板矩阵-Firefly Cluster Server
基于我个人的工作内容和兴趣,想要在家里搞一套服务器集群,用于容器/K8s 等方案的测试验证。Dell R7303.5 尺寸规格硬盘内存:16g*8存储:480Gintel ssd 系统盘 + 6tsas 希捷* 2 个数据盘RAID 卡:h730 卡电源:单电 750w盘架满价格大约是 3130 元再来套服务器机柜。..但是考虑到功率和噪音太大了,家里也没有适合放服务器的这么大的地,最终放弃了。😂。
2023-08-26 10:08:58
809
原创 Git Cherry-pick使用
无论项目大小,当你和一群程序员一起工作时,处理多个 Git 分支之间的变更都会变得很困难。有时,与其把整个 Git 分支合并到另一个分支,不如选择并移动几个特定的提交。这个过程被称为 "挑拣", 即 Cherry-pick。本文将介绍 "Cherry-pick" 的内容、原因和方法。让我们开始吧~通过命令,Git 可以将任何分支中的选定提交合并到当前的 Git HEAD 分支中。在执行git merge或git rebase时,一个分支的所有提交都会被合并。而命令则允许你选择单个提交进行整合。
2023-08-12 11:35:21
1693
1
原创 Terraform 系列-批量创建资源时如何根据某个字段判断是否创建
前文Grafana 系列 - Grafana Terraform Provider 基础介绍了使用 Grafana Terraform Provider 创建 Datasource.这几天碰到这么一个现实需求:es_type)判断是否创建?另外, 建议您先阅读前一篇文章:Terraform 系列 - 使用 for-each 对本地 json 进行迭代方便快速了解上下文背景."dev":},"test":该如何实现?🤔。
2023-08-11 16:41:52
1240
原创 Cilium系列-16-CiliumNetworkPolicy 实战演练
今天我们进入 Cilium 安全相关主题, 基于 Cilium 官方的《星球大战》 Demo 做详细的 CiliumNetworkPolicy 实战演练。暂且抛开《星球大战》的奇思妙想不谈,本次实战演练展示的是一种编写 CiliumNetworkPolicy 的方法,可帮助确保在集群内运行的 pod 之间的访问安全。你可以使用 CiliumNetworkPolicy 根据预期的工作负载行为(编码为标签元数据)建立合理的限制,而不是隐式地信任 pod 可以完全访问集群中对等 pod 公开的所有服务。
2023-08-08 09:18:03
546
原创 Cilium系列-15-7层网络CiliumNetworkPolicy简介
今天我们进入 Cilium 安全相关主题, 介绍 CiliumNetworkPolicies 相比于 Kubernetes 网络策略最大的不同: 7 层网络策略能力.今天我们进入 Cilium 安全相关主题, 介绍 CiliumNetworkPolicies 相比于 Kubernetes 网络策略最大的不同: 7 层网络策略能力.L7 策略基于 L4 策略扩展而来, 增加了toPorts字段. 并提供了 HTTP DNS Kakfa 的 L7 策略示例.
2023-08-07 14:28:46
541
原创 Cilium系列-14-Cilium NetworkPolicy 简介
今天我们进入 Cilium 安全相关主题, 介绍 Kubernetes 网络策略以及 CiliumNetworkPolicies 额外支持的内容。今天我们进入 Cilium 安全相关主题, 介绍 Kubernetes 网络策略以及 CiliumNetworkPolicies 额外支持的内容。介绍了一款好用的可视化 NetworkPolicy 编辑器: <networkpolicy.io>. 同时通过一个实用的"租户隔离"网络策略需求来进行演示.三人行, 必有我师;知识共享, 天下为公.
2023-08-06 09:03:59
518
原创 Cilium系列-13-启用XDP加速及Cilium性能调优总结
启用本地路由(Native Routing)完全替换 KubeProxyIP 地址伪装(Masquerading)切换为基于 eBPF 的模式Kubernetes NodePort 实现在 DSR(Direct Server Return) 模式下运行绕过 iptables 连接跟踪(Bypass iptables Connection Tracking)主机路由(Host Routing)切换为基于 BPF 的模式 (需要 Linux Kernel >= 5.10)
2023-08-05 20:14:30
995
原创 Cilium系列-12-启用 Pod 的 BBR 拥塞控制
启用本地路由(Native Routing)完全替换 KubeProxyIP 地址伪装(Masquerading)切换为基于 eBPF 的模式Kubernetes NodePort 实现在 DSR(Direct Server Return) 模式下运行绕过 iptables 连接跟踪(Bypass iptables Connection Tracking)主机路由(Host Routing)切换为基于 BPF 的模式 (需要 Linux Kernel >= 5.10)
2023-08-04 09:30:51
351
原创 Cilium系列-11-启用带宽管理器
启用本地路由(Native Routing)完全替换 KubeProxyIP 地址伪装(Masquerading)切换为基于 eBPF 的模式Kubernetes NodePort 实现在 DSR(Direct Server Return) 模式下运行绕过 iptables 连接跟踪(Bypass iptables Connection Tracking)主机路由(Host Routing)切换为基于 BPF 的模式 (需要 Linux Kernel >= 5.10)
2023-08-03 10:11:18
413
原创 Cilium系列-10-启用 IPv6 BIG TCP和启用巨帧
启用本地路由(Native Routing)完全替换 KubeProxyIP 地址伪装(Masquerading)切换为基于 eBPF 的模式Kubernetes NodePort 实现在 DSR(Direct Server Return) 模式下运行绕过 iptables 连接跟踪(Bypass iptables Connection Tracking)主机路由(Host Routing)切换为基于 BPF 的模式 (需要 Linux Kernel >= 5.10)
2023-08-02 13:48:27
937
1
原创 Cilium系列-9-主机路由切换为基于 BPF 的模式
启用本地路由(Native Routing)完全替换 KubeProxyIP 地址伪装(Masquerading)切换为基于 eBPF 的模式Kubernetes NodePort 实现在 DSR(Direct Server Return) 模式下运行绕过 iptables 连接跟踪(Bypass iptables Connection Tracking)主机路由(Host Routing)切换为基于 BPF 的模式 (需要 Linux Kernel >= 5.10)
2023-07-31 16:38:10
850
原创 Cilium系列-8-绕过 IPTables 连接跟踪
启用本地路由(Native Routing)完全替换 KubeProxyIP 地址伪装(Masquerading)切换为基于 eBPF 的模式Kubernetes NodePort 实现在 DSR(Direct Server Return) 模式下运行绕过 iptables 连接跟踪(Bypass iptables Connection Tracking)主机路由(Host Routing)切换为基于 BPF 的模式 (需要 Linux Kernel >= 5.10)
2023-07-30 13:01:25
395
原创 Cilium 系列-7-Cilium 的 NodePort 实现从 SNAT 改为 DSR
将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能。但是通过对 Cilium 不同模式的切换/功能的启用,可以进一步提升 Cilium 的网络性能。启用本地路由 (Native Routing)完全替换 KubeProxyIP 地址伪装 (Masquerading) 切换为基于 eBPF 的模式Kubernetes NodePort 实现在 DSR(Direct Server Return) 模式下运行。
2023-07-29 12:53:02
1055
原创 Cilium系列-6-从地址伪装从IPtables切换为eBPF
启用本地路由(Native Routing)完全替换 KubeProxyIP 地址伪装(Masquerading)切换为基于 eBPF 的模式Kubernetes NodePort 实现在 DSR(Direct Server Return) 模式下运行绕过 iptables 连接跟踪(Bypass iptables Connection Tracking)主机路由(Host Routing)切换为给予 BPF 的模式 (需要 Linux Kernel >= 5.10)
2023-07-27 10:23:07
499
原创 Cilium系列-5-Cilium替换KubeProxy
启用本地路由(Native Routing)完全替换 KubeProxyIP 地址伪装(Masquerading)切换为基于 eBPF 的模式Kubernetes NodePort 实现在 DSR(Direct Server Return) 模式下运行绕过 iptables 连接跟踪(Bypass iptables Connection Tracking)主机路由(Host Routing)切换为给予 BPF 的模式 (需要 Linux Kernel >= 5.10)
2023-07-26 10:12:20
436
原创 Cilium系列-4-Cilium本地路由
在前文中我们提到,: 因为兼容性原因,Cilium 会默认启用 tunnel(基于 vxlan) 的 datapatch 模式,也就是 overlay 网络结构。Cilium 是没有完全替换掉 kube-proxy 的,后面我们会出文章介绍如何实现替换。该功能要求 Linux Kernel >= 5.19, 所以在 Kernel 4.19.232 状态为禁用。该功能要求 Linux Kernel >= 5.1, 所以目前是禁用的。
2023-07-25 11:01:27
549
原创 Cilium 系列-3-Cilium 的基本组件和重要概念
安装完了,我们看看 Cilium 有哪些组件和重要概念。本文趁热打铁介绍了 Cilium 的基本组件和重要概念。为我们后续 Cilium 的深入使用做好铺垫。💪三人行, 必有我师;知识共享, 天下为公.本文由东风微鸣技术博客编写.
2023-07-24 10:06:25
378
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人