zhangguanzhang's Blog

zhangguanzhang's Blog

站在巨人的肩膀上

server 端的 cannot assign requested address
由来今天碰到了这个问题,但是最终结果出乎意料 过程项目相关部分客户的 OA 对接我们的应用,使用过程中会调用我们的接口,我们的接口再回调客户的回调地址。调用流是: 1客户 OA 后端 ----> 我们应用 A 的后端 -----> 我们应用 B 后端 -----> 客户写的回调地址 然后我们接口 A 返回 B 访问回调的报错: 1"Get http://10.192.xxx.xxx/xxxxinfo?...: dial tcp 10.192.xxx.xxx:80: connect: cannot assign requested address"...
keepalived static link build
由来之前那篇 ipvs svc 的文章,内部已经上生产了,客户的环境可能完全内网,包管理安装 keepalived 不现实,所以 keepalived 是部署容器里的。在容灾测试的时候,例如 3 台机器部署好业务,然后跑压测脚本模拟用户使用,发现关台机器的时候故障时间很短,但是这个机器开机的期间,还是很大概率故障时间很长,体现在接口的错误数量很多。大概看了下,是 keepalived 启动慢,先试启动 docker daemon,然后容器启动是顺序不固定,可能 keepalived 很后起来,于是就想着看看能不能 keepalived 拿出来,也就是静态编译。 buildx 使用见文章 ...
利用 docker buildx 静态编译 nginx
由来内部有需求需要静态编译 nginx,尝试了下,搞出来了。先是按照官方 nginx Dockerfile 的逻辑走不通,后面下载 nginx 官方源码编译才行。 buildx 使用见文章 buildx 使用 nginx Dockerfile先说下官方的失败尝试。先 clone 项目: 12git clone https://github.com/nginxinc/docker-nginx.gitcd docker-nginx 分为 stable 和 mainline。大概研究了下,发现 case "$apkArch" in x86_64|aarch64) 的情况是...
EmuELEC 笔记
EmuELEC 笔记后续关于 EmuELEC 的笔记和知识点都会在这里更新,假定看到这篇文章的人都具备一些 Linux 基础,命令,path,分区,挂载之类的知识。 EmuELEC 介绍EmuELEC 是专为 Amlogic(晶晨)S905/S912 方案的盒子开发的游戏系统,它基于 CoreELEC 系统,在 CoreELEC 的基础上移植了 RetroArch 和众多的独立模拟器。EmuELEC 前身为 Sx05RE。Sx05RE 整合了 Lakka、KODI、EmulationStation,常被人简称为三合一。它实际上也是一个 Linux 系统,最新版本开始只支持 ar...
openwrt 的在线升级固件和扩容的研究
前言手上有 r2s、N1 和 x86_64 的固件维护,r2s 的参照别人的脚本搞了在线升级固件的脚本,别人的脚本只支持 ext4 升级,而后面我也把 squashfs 格式的固件升级搞出来了。恩山上有的人的固件我也看 x86_64 也可以在线升级,后面我也会去测下 x86_64 的,理论上是通用的。 升级过程以 r2s 为例讲解。参照目前看到的的 1988 的升级脚本 ,最初的人不知道是谁搞的在线升级,因为很久之前就看到有些人的固件能在线升级了。 升级前准备相关命令确保固件有下面命令: command package name 用途 parted parted 修改分区和获...
docker数据盘损坏后启动报错 Error starting daemon: Error initializing network controller: Error creating default "bridge" network: package not installed
前言客户现场的数据盘损坏了,修复启动机器后 docker 无法启动 123456789101112131415[root@db1 docker]# /data/kube/bin/dockerdWARN[0000] The "graph" config file option is deprecated. Please use "data-root" instead. WARN[2021-12-11T21:16:07.917969366+08:00] could not change group /var/run/docker.sock to doc...
1.15 kubelet 在 nodefs 容量富裕下循环 reclaim ephemeral-storage
故障现场 k8s node 很多 pod 都被硬性驱逐显示 Evicted ,现场人员查看分区容量和 inode 都正常,但是一直 reclaim ephemeral-storage。 处理环境信息12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879$ uname -aLinux xxx-2 3.10.0-693.el7.x86_64 #1 SM...
在非容器环境上实现散装的 IPVS SVC
前言内部有非 K8S 环境上需要类似 SVC 的负载实现,一开始是用 NGINX 做的,所有 SVC 域名都解析成一个 dummy IP ,然后 NGINX 根据 server_name 去 proxy 不同的 upstream 。 开始还是能用的,结果后面很多服务依赖 host 这个 header ,报错签名错误,而且毕竟这样是在用户态,效率不如内核态高。于是打算搞下之前的打算:把 IPVS 的 ClusterIP 的 SVC 扣到非 K8S 环境上使用。 kube-proxy 的 SVC 简单讲就是 node 上任何进程访问 SVC IP:SVC PORT 会被 dnat 成 end...
解决 docker 的 read unix @->/run/containerd/s/xxx read: connection reset by peer: unknown
由来为了测试关机对集群的影响,关机了几台机器后很多 pod 一直 CrashLoopBackOff 和 RunContainerError 或者一直无法就绪 环境信息1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253[root@CentOS76 ~]# docker infoClient: Debug Mode: falseServer: Containers: 404 Running: 258 Paused: 0 Stopped: 146...
[持续更新] - Openwrt USB 网络
about记录下 openwrt 下 usb 网络的折腾,后续折腾这块内容的话也在这个文章内更新 N1 上的 usb 网络共享折腾固件依赖暂时没完全区分 usb 网络共享和 usb-cdc 的关系,所以我编译的时候把很多 usb-net-xxx 都编译进去了 听其他大佬说编译的时候主要有下面的包: 安卓: kmod-usb-net kmod-usb-net-rndis 苹果: kmod-usb-net-ipheth usbmuxd 建议下面这些也安装上方便调试: 123456789101112131415161718CONFIG_PACKAGE_luci-proto-3g=yCONF...
fio 静态编译和基础使用
由来amd64,arm64 的静态编译和基础使用 buildx 使用见文章 buildx 使用 编译buildx Dockerfile 构建: 123456789101112131415161718FROM ubuntu as buildWORKDIR /optARG VER=fio-3.29#ARG DEBIAN_FRONTEND=noninteractiveRUN if [ -e /etc/apt/sources.list ];then sed -ri 's/[a-zA-Z0-9.]+(debian.org|ubuntu.com)/mirrors.aliyun.com/g...