自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 容器查看日志工具-stern

只看指定容器的日志(Pod 里有多个容器时很有用)自动高亮 Pod 名称,方便区分日志来源。支持正则、时间、tail、容器选择。只拉取最近 100 行日志。只看最近 1 小时的日志。可以一次性看多个 Pod(指定命名空间(默认是。

2025-09-18 15:57:14 170

原创 Ray on Kubernetes

在某些情况下,Helm values 无法覆盖特殊的 Worker 配置(如 Ascend NPU 驱动挂载、探针配置等),需要单独用。RayCluster 是 Ray 在 Kubernetes 上的自定义资源(CRD)。KubeRay Operator 负责管理 Ray 集群的生命周期。管理 Worker Pod。

2025-09-11 16:27:51 506

原创 Python虚拟环境(Virtual Environment)

Python 虚拟环境是一种工具,用于创建一个独立的、隔离的 Python 环境。在该环境中,你可以安装特定版本的 Python 库,而不会影响系统级别的 Python 或其他项目的依赖。

2025-09-09 16:45:29 545

原创 Kubernetes ServiceAccount:Pod 的“身份证”与权限管理指南

在 Kubernetes 里,是一种“身份凭证”,专门给(以及在 Pod 中运行的应用)用的。它的作用有点像一个系统用户账号,但它不是给人用的,而是给用的。

2025-08-08 16:59:37 279

原创 Java 类加载冲突

在某次线上部署过程中,我们遇到了一个十分诡异的问题:同样的应用,在下运行正常,但部署到。

2025-07-31 14:29:40 579

原创 在 Kubernetes 上部署 Label Studio

Label Studio 是一款开源的数据标注工具,支持多种标注任务,如文本标注、图像标注、音频标注等。

2025-07-30 15:43:35 502

原创 前端资源缓存优化案例:深入探讨 Nginx 配置中的 Cache-Control 头部叠加问题

前端资源缓存控制

2025-07-23 18:22:38 694

原创 Jenkins 多架构并发构建实战

本次实践充分利用了 Jenkins Pipeline 的 Scripted 嵌套能力,绕过了 Declarative 对failFast的限制,实现了高效、高反馈速度的多架构并行构建方案。这种模式非常适合:多平台(arm64、amd64)构建;多版本(企业版 / 开源版)并行验证;CI 构建任务中敏捷反馈、高效利用资源的场景。

2025-07-22 16:28:47 555

原创 从 0 安装 Label Studio:搭建可后台运行的数据标注平台(systemd 实践

是一个开源、跨模态的数据标注工具,支持文本、图像、音频、视频、HTML等多种类型,适用于机器学习训练数据的可视化标注与协作。文本分类、实体标注、目标检测、图像分割等支持可视化配置标注模板(XML)导入/导出支持 JSON、CSV、COCO 等格式支持多用户、预标注、数据库持久化等功能。

2025-07-18 16:46:34 657

原创 理解 PS1/PROMPT 及 macOS iTerm2 + zsh 终端配置优化指南

PS1是 Unix/Linux shell 用来定义主提示符(Primary Prompt)的环境变量。在bash中,主要用PS1来控制提示符。在zsh中,虽然也支持PS1,但更推荐用PROMPT(两者作用相同)。

2025-07-17 18:03:20 785

原创 AWK 常见排查语法手册(适配日志分析)

筛选出访问 x.abc.com 且返回 500 的请求。非常适合“日志格式固定、分析逻辑变化”的场景。支持字段操作、逻辑判断、统计分析。

2025-07-17 14:38:15 303

原创 Go 程序无法使用 /etc/resolv.conf 的 DNS 配置排查记录

这篇文章记录下完整的排查过程和最终的解决方案。

2025-07-17 14:19:42 339

原创 一次多架构镜像构建实战:Docker Buildx + Harbor 踩坑记录

是构建多平台镜像的现代化利器,但其行为与传统不同,踩坑点较多,关于--load--push和 Harbor UI 展示方面容易让人困惑。

2025-07-17 14:01:08 545

原创 理解 Kubernetes 的 Taint 与 Toleration

Kubernetes 的 Taint 与 Toleration

2025-07-14 18:07:00 529

原创 TCP backlog工作机制

这行代码的目的是把 socket 设置为监听状态(LISTEN),并传入一个 backlog 参数,用来告诉内核:“我能接受这么多排队的连接请求”。但这个 backlog 参数并不像字面那样简单。在 Linux 中,它不是连接请求的上限本身,而是作用于一个更复杂的内核结构——两个连接队列。在高并发系统中,“连接丢失”往往不是带宽或 CPU 不够,而是 TCP 握手路径中的一个被忽视的细节。理解 backlog 实际涉及的两个队列、调优系统参数、监控连接状态,是保障服务稳定性的关键。

2025-07-07 17:01:55 686

原创 容器和 Kubernetes 中的退出码

在 Kubernetes 中,Pod 中容器的退出状态(exitCode)表示容器进程退出时的状态码。这个exitCode通常是应用程序或 shell 返回的标准 UNIX/Linux 退出码。理解常见的exitCode有助于我们快速定位容器异常退出的原因。

2025-06-27 15:39:30 652

原创 lxcfs:容器虚拟化资源视图的关键利器

lxcfs 是连接 Linux 宿主机资源管理和容器资源隔离的重要桥梁,它通过 FUSE 技术和动态内容生成,让容器内进程获得符合自身限制的资源视图,提升容器运行的稳定性和可靠性。

2025-06-25 20:04:03 475

原创 set -euo pipefail: Bash 脚本提高健壮性和错误检测能力

配置项作用风险防御-e出错退出防止错误被忽略-u未定义变量时报错防止拼写错误或漏设变量管道中任一命令失败即失败保证数据链条正确性。

2025-06-20 11:20:36 488

原创 Kubernetes 容器重启机制:从探针到 Backoff

Kubernetes 容器重启机制

2025-06-18 19:22:49 1147

原创 Postman 中 Body 类型选择总览

【代码】Postman 中 Body 类型选择总览。

2025-06-17 11:42:23 442

原创 vscode如何debug断点go代码

可以用调试面板的“单步执行(F10)”,“进入函数(F11)”,“继续(F5)”等按钮调试。在想要停下来的代码行的左侧灰色边栏点击,出现红点就是断点了。使用“调试控制台”输入变量名或表达式查看结果。点击“创建 launch.json 文件”安装并重启 VSCode(如果没安装过)用 VSCode 打开你的项目根目录。可以指定你要调试的 main 包路径。点击左侧“运行和调试”图标(或按。可以填写程序启动时的命令行参数。可以在断点处悬浮鼠标查看变量值。调试控制台可以执行表达式查看值。你也可以在代码行上按。

2025-06-17 07:34:32 1062

原创 git 回滚代码

场景推荐方案团队协作主分支git revert(安全、保留历史)单人维护、无历史要求+ 强推。

2025-06-16 15:58:47 513

原创 ARM 和 x86_64是什么关系

它们都是CPU 指令集架构(ISA)指令集架构(Instruction Set Architecture)就是:CPU 能够理解和执行的“语言”和“命令格式”。ARM 和 x86_64 是两种完全不同的 CPU 语言,你不能直接在一个平台上运行另一个平台编译的程序,除非你有「翻译器」(比如 QEMU 或 Rosetta)在中间做中转。编译架构 ↘镜像程序 ——> x86_64 架构 binary → [不能在 ARM 机器上直接跑!↘解决方案:使用 QEMU / Rosetta 做 CPU 翻译模拟。

2025-06-12 17:43:52 1420

原创 Rosetta 2介绍

Rosetta 2是 Apple 提供的一个动态二进制翻译器,作用是:让你在 Apple Silicon(ARM 架构的 M1/M2/M3 芯片)上运行本来只能在 Intel(x86_64 架构)上运行的软件。你会 ARM 语言,但来了个只说 x86 的外国人。Rosetta 2 在你俩之间实时翻译,让你们能合作。QEMU是一个强大的系统级模拟器(emulator),可以:模拟不同 CPU 架构(比如 ARM ↔ x86)模拟设备和系统调用可以是“轻量的用户空间模拟”或“完整的系统级虚拟化”模式。

2025-06-12 17:29:05 748

原创 ‘Target closed‘ error in Puppeteer解决

但 LinuxKit 由于“轻量”,在多进程模型上不太兼容,限制了 Puppeteer/Chromium 的多进程沙箱行为,导致 Chromium 启动失败或者「Target closed」这类错误。是专门为容器轻量化设计的,剔除了很多传统 Linux 内核功能和驱动,尤其是和用户命名空间 (user namespaces)、沙箱(sandboxing)相关的部分;业务应用需要将系统从centos切换ubuntu,其中A应用在准备好相应的ubuntu镜像后,在mac本机启容器,执行测试脚本报错。

2025-06-12 15:38:27 672

原创 git约定示提交

Git 提交规范中常见的提交类型(如fixfeat等)来源于,这是一种规范,目的是提升协作效率和自动化工具支持(如自动生成 changelog、版本发布等)。以下是常见的。

2025-06-12 11:36:05 537

原创 git撤回commit

生成一个“反向提交”来撤回 abc123,但不会影响后续提交,安全用于任何场景,推荐撤回远程 commit。之前,代码还是改过的,可以重新提交。

2025-06-11 16:17:14 2025

原创 Kubernetes Pod DNS 配置

Kubernetes 提供多种 DNS 策略(dnsPolicy),同时 kubelet 参数也影响最终的 DNS 行为。

2025-06-04 14:42:30 937

原创 lsinitramfs命令

是一个非常实用的命令,用于,这对于调试kdump、启动故障、驱动是否打包等问题非常有帮助。

2025-06-03 15:23:26 352

原创 什么是 /proc/buddyinfo

Linux 内核为了管理物理内存,把内存分成一页一页(通常4KB)。伙伴算法维护空闲页块的不同大小的“块”。块大小是 2 的幂,比如:order 0:1 页(4KB)order 1:2 页(8KB)order 2:4 页(16KB)order 3:8 页(32KB)依此类推...这些块被组织成“伙伴”,方便分配和释放,合并相邻块,减少碎片。DMA:用于某些设备DMA访问的低地址内存,通常很小。DMA32:支持32位DMA的内存区域,64位系统有时需要。Normal。

2025-06-03 14:57:17 815

原创 Kdump 介绍与使用方式

Kdump是 Linux 系统中的一种内核崩溃转储机制(Kernel Crash Dump)。当内核发生panic或严重故障时,Kdump 会触发并使用第二内核(crash kernel)启动系统,并将主内核的内存快照(vmcore)转储至硬盘、网络或远程服务器,以供后续分析。

2025-06-03 11:20:20 717

原创 k8s fsGroup

字段功能简述fsGroup设置卷中文件的组 ID,使容器内用户有组访问权限你设置的,意味着挂载卷的文件都会设为 GID=472,通常是为了兼容容器中运行程序对文件权限的要求。

2025-05-29 20:16:56 647

原创 PromQL:and on与and

在 PromQL 中,是用于andorunless。

2025-05-22 16:02:11 329

原创 yq:处理 YAML 文件

yq是一个处理 YAML 文件的命令行工具,语法类似jq。— 当前主流版本,功能强大,语法类似jq。— 是基于jq的 wrapper,较少使用。以下以yq。

2025-05-21 13:38:35 580

原创 systemd服务日志重定向

1.StandardOutput、StandardError配置项用于重定向标准输出和标准错误输出。2.详细用法参考man systemd.exec。注意:日志路径要配置绝对路径。

2025-01-10 16:33:58 252

原创 etcd节点替换

删除的即使是leader,也是安全的,但在选举新leader期间,集群会处于非活跃状态。此持续时间通常是选举超时时间加上投票过程的时间。

2024-12-30 17:01:11 354

原创 Using Ceph RBD for dynamic provisioning

Note:所有k8s master和被调度的node节点上均需要安装此包。

2024-11-06 11:27:20 363

原创 etcdserver: mvcc: database space exceeded异常处理

等待每台server compact结束:出现类似日志 'finished scheduled compaction at 13947629 (took 2m48.349028089s)'等待compact结束。

2024-10-31 15:22:34 405

原创 etcd leader切换排查

etcd leader非预期切换1.客户端(apiserver)日志: 2.etcd日志:分析:1.etcd日志里提示“slow fdatasync”,对应的查看etcd主机磁盘监控,对应时刻disk util和write time指标都有抖动write time监控采集的是/proc/diskstats,计算两次采集第11列的差值,正常时候不大于100ms,异常时超过了2s,与日志里"took":"1.910237721s",可以对应的上2.切换原因etcd leader 每 100ms

2024-10-31 11:05:18 760

原创 cpu性能分析

cpu性能分析

2024-10-10 17:49:28 140

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除