自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 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 548

原创 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 233

原创 ‘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 391

原创 git约定示提交

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

2025-06-12 11:36:05 419

原创 git撤回commit

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

2025-06-11 16:17:14 313

原创 Kubernetes Pod DNS 配置

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

2025-06-04 14:42:30 735

原创 lsinitramfs命令

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

2025-06-03 15:23:26 202

原创 什么是 /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 413

原创 Kdump 介绍与使用方式

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

2025-06-03 11:20:20 416

原创 k8s fsGroup

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

2025-05-29 20:16:56 376

原创 PromQL:and on与and

在 PromQL 中,是用于andorunless。

2025-05-22 16:02:11 130

原创 yq:处理 YAML 文件

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

2025-05-21 13:38:35 277

原创 systemd服务日志重定向

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

2025-01-10 16:33:58 154

原创 etcd节点替换

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

2024-12-30 17:01:11 241

原创 Using Ceph RBD for dynamic provisioning

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

2024-11-06 11:27:20 305

原创 为k8s pod设置/dev/shm size

dev/shm这个目录是linux下一个利用内存虚拟出来的一个目录,这个目录中的文件都是保存在内存中,而不是磁盘上。若想为pod设置/dev/shm size,参照如下资源定义模版。

2024-11-01 18:06:45 317

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

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

2024-10-31 15:22:34 307

原创 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 528

原创 cpu性能分析

cpu性能分析

2024-10-10 17:49:28 89

原创 k8s configmap错乱解决

配置中存在制表符和行尾有空格导致。

2024-09-25 10:55:26 340

原创 kubernetes-event-exporter+loki+grafana实现对k8s event监控管理

2.修改配置指定kubeconfig3.修改config.yaml配置loki sink。

2024-09-14 14:27:18 582

原创 helm install kube-state-metrics

2.配置a)生成secretb) 配置values.yaml。

2024-09-12 15:01:42 272

原创 在k8s上部署grafana

4.访问http://ip:3000。3.查看grafana pod。

2024-09-10 17:56:08 247

原创 prometheus监控etcd集群

kubectl apply -f xx.yaml应用上述配置使其生效。3.访问prometheus验证。2.配置prometheus。1.curl验证请求。

2024-09-10 17:47:19 284

原创 菜鸟记单词

impact:碰撞, 影响, 撞击。

2024-08-22 15:08:16 135

原创 dmesg报INFO: task blocked for more than 120 seconds

当超过这个阈值后,文件系统会把将缓存中的内存全部写入磁盘, 导致后续的IO请求都是同步的。将缓存写入磁盘时,有一个默认120秒的超时时间。出现上面的问题的原因是IO子系统的处理速度不够快,不能在120秒将缓存中的数据全部写入磁盘。IO系统响应缓慢,导致越来越多的请求堆积,最终系统内存全部被占用,导致系统失去响应。根据应用程序情况,对vm.dirty_ratio,vm.dirty_background_ratio两个参数进行调优设置。系统内存大,则缓冲区大,同步数据所需要的时间就越长,超时的概率就越大。

2024-08-19 11:26:17 479

原创 prometheus监控service

2.创建blackbox-exporter相关资源。将通过服务发现获取到的Service实例地址。转换为获取监控数据的请求参数。监控样本添加额外的标签信息。

2024-07-17 17:53:58 198

原创 kubeadmin安装单机版k8s

【代码】kubeadmin安装单机版k8s。

2024-07-11 15:31:42 320

原创 prometheus 部署 & 监控k8s集群

【代码】prometheus部署。

2024-07-08 11:32:21 285

原创 检查kubeconfig证书有效期

【代码】检查kubeconfig证书有效期。

2024-07-03 14:25:00 472

原创 ingress controller部署

【代码】ingress controller部署。

2024-05-17 16:47:03 321

原创 kubeasz 部署v1.27.3 k8s

致力于提供快速部署高可用k8s集群的工具, 同时也努力成为k8s实践、使用的参考书;基于二进制方式部署和利用实现自动化;既提供一键安装脚本, 也可以根据安装指南分步执行安装各个组件。

2024-05-16 15:22:25 951

原创 Java垃圾回收

Java垃圾回收原理、细节

2024-05-09 19:26:56 760 2

原创 python字符串乱码研究

从这表格可以看到,A的ASCII与UTF-8编码一样,这是因为UTF-8就是为了解决向后兼容ASCII码而设计,Unicode中前128个字符,使用与ASCII码相同的二进制值的单个字节进行编码,而且字面与ASCII码的字面一一对应,这使得原来处理ASCII字符的字节无须或只须做少部分修改,即可继续使用。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。

2024-03-28 09:49:43 964

原创 nvidia-device-plugin实现gpu虚拟化

gpu k8s虚拟化方案简介:nvidia-device-plugin

2024-03-06 17:16:36 1648

空空如也

空空如也

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

TA关注的人

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