博文
从 CPU 到网络记录一次排查应用慢的过程
· ☕ 7 分钟
1. 现象 业务反馈应用 app-a 的接口慢,查看日志发现是某一个 Pod 慢,删除该 Pod 让其更换节点就好。 从监控指标可以看到,Pod 的 CPU 使用率确实有剧增。 但该 Pod 没有达到 Limit 的限制,没有被限流 CPU。 接着看节点的 CPU 监控,发现节点的 CPU 使用率也有剧增。 并且增加的部分是 System C

源码分析 Kubernetes 对 Pod IP 的管理
· ☕ 9 分钟
1. kube-controller-manager 对网段的管理 在 kube-controller-manager 有众多控制器,与 Pod IP 相关的是 NodeIpamController。 NodeIpamController 控制器主要是管理节点的 podcidr,当有新节点加入集群时,分配一个子网段给节点;当节点删除时,回收子网段。 每个节点的子网段不会重叠,每个节点都能够独立

FFmpeg 使用简易教程
· ☕ 2 分钟
1. 安装 FFmpeg macOS 上执行命令: 1 brew install ffmpeg 2. FFmpeg 使用 1 ffmpeg {1} {2} -i {3} {4} {5} 五个部分的参数依次如下: 全局参数,-y、-loglevel、-preset 等用来控制的整体行为 输入文件参数,-i、-ss、-t、-stream_loop 等用来控制输入文件的读入方式 输入文

一些程序构建的优化技巧
· ☕ 2 分钟
持续更新中… 1. Golang 使用 trimpath 移除编译路径,避免暴露编译路径信息 1 go build -gcflags="all=-trimpath=${PWD}" -asmflags="all=-trimpath=${PWD}" -o ./bin/opscli ./cmd/cli/main.go 添加之前异常输出路径 /Users/shaowenchen/Code/Github/ops/main.go,添加之后异常输出路径 main.go 。 -ldflags “-w -s” 移除调试信息,减小

我在给 Ops 工具写 Copilot
· ☕ 4 分钟
1. 什么是 Ops 工具 https://www.chenshaowen.com/ops/ 是我日常运维最频繁使用的工具之一。 运维机器,我可以复用之前的脚本,批量进行操作。 运维集群,我可以复用之前的脚本,不用登录节点也可以操作机器。 如果遇到新的运维问题,我会马上编写 Task Yaml 对操作进行固化,方便下一次复用。 Ops 的核心操作是