zhangguanzhang's Blog

zhangguanzhang's Blog

站在巨人的肩膀上

Linux audit 审计
什么是audit?linux audit子系统是一个用于收集记录系统、内核、用户进程发生的行为事件的一种安全审计系统。该系统可以可靠地收集有关上任何与安全相关(或与安全无关)事件的信息,它可以帮助跟踪在系统上执行过的一些操作。 使用安装好像高版本 os 都自带了,没有就 yum install -y audit 1systemctl status auditd.service 例如追踪一个内核参数被谁修改要注意的是 auditctl 只能临时生效,要想永久生效使用文件 audit.rules 基本信息查看12345678910111213# 查看状态$ auditctl -senabl...
k8s pprof 分析 cpu 和内存
简单记录下 k8s 组件的 pprof 看内存和 cpu 情况 kubectl 收集有证书 curl 也行,这里就偷懒了: 123# 这个很耗时,耐心等待文件不为 0 即可kubectl get --raw /api/v1/nodes/<nodeName>/proxy/debug/pprof/profile > kubelet.profilekubectl get --raw /api/v1/nodes/<nodeName>/proxy/debug/pprof/heap > kubelet.heap 123yum instal -y graphviz...
阿里云上使用flannel host-gw跨节点pod不通的解决
挺多人问的,写下解决办法 前言首先主机得在同一个专有vpc下,跨vpc或者经典vpc就扯淡了。还有flannel别把网络信息存储在etcd里,目前flannel只支持v2的etcd api。但是现在k8s都是使用v3 etcd存储了。如果v2和v3共存会导致无法恢复etcd的备份 所以网上那些etcdctl set flannel的cidr的文章别看了,都没做过备份恢复实验就到处发k8s搭建教程。flannel v3的话看我过往文章 环境信息先来说下host-gw的包走向,假设两台机器 IP pod cidr 10.0.6.166 10.200.1.0/24 1...
v1.17+ k8s集群下CNI使用VXLAN模式SVC有63秒延迟的触发原因定位
这个问题 flannel 和 calico 的 VXLAN 模式下都会发生,部分人的现象是集群的A记录 UDP 下查询可能有问题(也有人在 azure 上在宿主机上访问 svc 的 clusterIP 10%几率才能通),原因是v1.17+的k8s会引起内核的某个 UDP 相关 bug而不是cni的软件层面,weave没有,后面说。 写这篇文章的日期是05/28,发现是上周五也就是05/23号,文章从时间线写起(因为很多时候想发文章但是没空,所以文章的发布日期是05/23) 2020-07-19更新,版本v1.18.6, v1.16.13, v1.17.9+已经修复这个问题,可以同版本内...
proxmox x86软路由笔记
由来pve已经安装好系统(如果你还没安装且打算安装,安装完后可以看看我这个文章安装完proxmox的一些设置),pve 的机器只有一个口子的情况下,就只能作为旁路由使用。 前置工作虚机准备先去恩山论坛x86版块下一个固件pve上开台机器 一般-高级-开机自启动勾上,有必要的话手动设置下vmID,后面有用 操作系统不适用任何介质 系统默认,下一步 硬盘随便设置,后面会删除 cpu按照实际,我给2核,内存我给的2g 网络,模型选VirtIO(半虚拟化),防火墙的勾去掉 完成 选中虚机,硬件-选中硬盘,点击分离,删除 导入img把固件上传到 pve 的机器上,一般是 gz,解压成 img ...
adguardhome dns FORMERR 错误
由来这几天发现某个 zone 上游时不时地址无法解析,dnsmasq -> adguardhome 的 /xxx.com/10.x.x.x。 排查先用 dig 排查,发现是上游的问题,加上 noedns 就能解析了 12345678910111213141516171819202122232425262728293031323334353637383940root@OpenWrt:~# dig @10.x.x.x xxx.xxxxx.net ; <<>> DiG 9.17.13 <<>> @10.x.x.x xxx.xxxxx.ne...
斐讯N1刷机和旁路由的设置
由来之前一直是使用k2p刷openwrt或者pandora跑 xx 用,前几天看到了个 xx 的订阅地址给写到openwrt上了。结果运行了几天发现 web 上任何配置都无法更改,ssh 上去发现 touch 报错没有容量(而且重装后感觉还是有问题,github 访问也不稳定了),意识到 k2p 容量实在太小了,于是去恩山论坛逛了下准备买个 N1 盒子玩玩旁路由。 N1有8G的rom 2G的ram,cpu 是 armv8 的。询问了一番 pdd 上有卖的,132买的刷机版+刷机线套餐(部分固件说好些白色的稳定,如果店铺能选颜色可以选白色的试试?,刷机线是双公头的USB,后期也可以用来救砖...
一次deploy,rs,sts Mismatch 的处理
这次文章是远程帮群友解决故障后的总结,以时间线描述 群友一开始是apiserver响应慢,使用角度上就是kubectl请求慢,如 123E0326 07:49:37.586690 1 available_controller.go:416] v1beta1.metrics.k8s.io failed with: failing or missing response from https://10.99.174.208:443/apis/metrics.k8s.io/v1beta1: Get https://10.99.174.208:443/apis/metrics...
go mod的基础使用-科普
go mod由来文章主要是针对新人来介绍 go mod 是啥以及新手如何使用,老手不用看。现阶段go mod已经完全GA了,你会用了的话会非常方便像 python 的项目根目录有requirement.txt记录依赖包,nodejs 是packages.json,同样 go 的包管理从早期的go dep(gopkg)到vendor到现在的go mod.go dep 很早,没有接触过,如果你接触的项目有go dep,看完本文希望你可以学会改造你手上的老项目,vendor则是把包都存放项目的根路径的vendor文件夹里,就像下面。这会导致一个项目很大,多达40M以上。 12345678910...
centos6中毒重启后卡在启动页面
12345678910⣿⣿⣿⣿⣿⣿⢟⣡⣴⣶⣶⣦⣌⡛⠟⣋⣩⣬⣭⣭⡛⢿⣿⣿⣿⣿⣿⣿⣿⣿⠋⢰⣿⣿⠿⣛⣛⣙⣛⠻⢆⢻⣿⠿⠿⠿⣿⡄⠻⣿⣿⣿⣿⣿⣿⠃⢠⣿⣿⣶⣿⣿⡿⠿⢟⣛⣒⠐⠲⣶⡶⠿⠶⠶⠦⠄⠙⢿⣿⠋⣠⠄⣿⣿⣿⠟⡛⢅⣠⡵⡐⠲⣶⣶⣥⡠⣤⣵⠆⠄⠰⣦⣤⡀⠇⣰⣿⣼⣿⣿⣧⣤⡸⢿⣿⡀⠂⠁⣸⣿⣿⣿⣿⣇⠄⠈⢀⣿⣿⠿⣰⣿⣿⣿⣿⣿⣿⣿⣷⣤⣈⣙⠶⢾⠭⢉⣁⣴⢯⣭⣵⣶⠾⠓⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣉⣤⣴⣾⣿⣿⣦⣄⣤⣤⣄⠄⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠈⢿⣿⣿⣿⣿⣿⣿⡟⣰⣞⣛⡒⢒⠤⠦⢬⣉⣉⣉⣉⣉⣉⣉⡥⠴⠂⢸⠻⣿⣿⣿⣿⣏⠻⢌⣉⣉⣩⣉⡛⣛⠒⠶⠶⠶⠶⠶⠶⠶⠶⠂⣸⣿ 昨晚刚整好那个ubuntu,今天下午又一台cen...
记录一次request_module: runaway loop modeprobe binfmt-0000
昨天一台 gpu 的主机的阵列卡突然坏了,最终整起来后上面的几台虚机恢复后有一台虚机无法正常开机,开机进 emergency mode,同事看上面的报错以为是挂载了啥 iscsi,当然无法开机应该找到最开始的错误,进到 emergency mode 这个视角的时候已经是雪崩的最后的错误了,多半是没有意义的。输入 root 密码后执行journalctl -xb翻看最开始的错误 按照关键字request_module: runaway loop modeprobe binfmt-0000搜到的都是裁剪内核出现的binfmt-484c啥的或者2.6内核的出错,尝试了换内核和挂载iso进re...
使用microsoft-graph的api对接onedrive
前言这几天打算把文件备份下,最后看到有网友说onedrive不错,就是容量小了点只有5g,然后酷安去安装安卓客户端,下面看到一堆人送office e5子账户的。看了下大概是微软为了推广自己产品面向开发者送的优惠,账户有免费的5t存储,而且安装office啥的免费。试用30天,30天内调用api来保持活跃度的话就会延期。评论里一大堆都是搭建oneindex或者onelist的,主要作用就是把onedrive给抽象成一个公共的网盘使用,oneindex是php写的,我看issue居然385个,作者的github也在更新,而且作者学了golang,居然也不打算重构下,估计也是烂尾了。oneli...
Killing container "docker://xxx with 30 second grace period
由来开发反应他们环境上有个 pod 不正常。他们先操作然后卡住后来找我的。 12345$ kubectl -n xxx get pod -o wide | grep 0/1xstorage-6d959cd8c8-rdscv 0/1 Init:0/1 0 15m xxxx$ kubectl -n xxx delete po xstorage-6d959cd8c8-rdscvpod "xstorage-6d959cd8c8-rdscv" deleted ^[[A^[[A^[[A^[[A 处理过程查看日志: 1234$...