zhangguanzhang's Blog

zhangguanzhang's Blog

站在巨人的肩膀上

解决 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...
干掉烦人的 open /run/xtables.lock: is a directory
环境信息suse 这辣鸡系统,使用官方文档 docker-static 的二进制安装的话会无法起来,所以我们在 suse 上用的是很久之前的 rpm 安装的 docker。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162$ cat /etc/os-release NAME="SLES"VERSION="12-SP5"VERSION_ID="12.5"...
flannel下集群有个节点网络不通的一次排查
故障问题和版本没关系,客户的 node 信息啥的后面排错里有。有个节点通信有问题,其余节点都没问题。 排查惯例信息先看下 flannel 的 vxlan 的 vtep 信息,客户是双网卡的,但是默认路由是这个网卡,不用管另外的网卡了。下面信息看了下 VtepMAC 和 public-ip 都正常。 123456789101112131415161718192021222324252627282930313233343536$ kubectl get node -o yaml | grep -B4 public annotations: flannel.alpha.core...
一次 cni-plugins 导致集群 dns 无法解析的排错
问题环境是 1.15.5 的 x86_64 的 k8s 。命令输出被我查看日志给冲掉了,大致描述下。中间件 kafka 无法连上 zookeeper ,看了下日志报错域名无法解析。看了下 coredns 都挂了: 12345$ kubectl -n kube-system get po -o wide -l k8s-app=kube-dnsNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS ...
kubelet 为系统配置预留资源
前情提要我们环境有部分 pod 特殊,单独节点部署,oom 的时候会搞挂一些系统进程,这几天折腾了下配置了下 kubelet 相关的 reserved。主要是 kubelet 的配置文件一些参数,不写 systemd 里,全部写配置文件里。版本是如下,因为我们不单单是 x86_64 ,由于还有其他的架构以及会部署在客户的现场,为了减少维护,所以我们都是除了 flanneld 和 coredns 以外。k8s 相关的二进制的形式部署的。 12345678910111213141516171819202122232425$ kubectl version -o json{ &qu...
鲲鹏920的麒麟v10物理服务器断电后无法启动处理
前情提要珠海园区升压前置检查,上周六整个园区关电检查,然后今天来后连不上我们在 鲲鹏920的麒麟v10机器上开的虚拟机了,进 bmc 的 web 看了下是开机进入后卡住。 信息同步是当初安装系统的同事去处理这个事情的,他 bmc 的 web 上去重启在菜单那里按 e 编辑准备改 boot cmdline 进单用户,结果按 e 后要输入用户名和密码,询问了麒麟他们。很久也没给答复。然后就在那干等,上面的虚机有我的环境,我就过去看了下。 尝试的处理麒麟那边的人员没有回复,我打算这边同步尝试下其他手段,而且不只一台无法开机,哪怕麒麟的回复了密码也能同步尝试不同手段。Linux 无法开机的就搞个...
dlv命令行的远程调试 golang 进程步骤(包含容器进程)
前情提要记录下 dlv 的远程调试,建议不要在代码里加 fmt 去调试。不谈 goland 啥的远程调试,本文章目前只写 dlv 的命令行配合远端调试。 一些前提须知符号链接路径1234567891011package mainimport ( "fmt" "os")func main() { f, _ := os.Open("asdasdasd") fmt.Println(f.Name())} 上面代码你编译了后,在其他机器上运行,panic 的堆栈信息会是你机器上的路径信息,路径信息是保留的,例如下面的...
编译mips64le架构的consul
编译建议使用容器编译,否则建议 clone 进 GOPATH 里 clone12git clone https://github.com/hashicorp/consul.gitcd consul 线上使用的是 v1.8 版本,这里我以 v1.8.14 (2021/07/19 发布的)搞的。 1git checkout v1.8.14 准备工作拉取需要的镜像。貌似 golang 1.16 更好的支持 mips64 了,所以条件允许的话,这里可以下改下 golang 的版本试试 1234$ head -n2 build-support/docker/Build-G...
机器重启后 kube-apiserver 无法启动,etcd刷(error "EOF", ServerName "")
环境信息三个 master (etcd 也在 master 上,master上也有 kubelet)和 n 个 node。master 上组件(kube-controller-manager,kube-scheduler,kubelet)的 apiserver 的ip 都是 127.0.0.1:6443。kube-apiserver的 etcd 地址写了三个 etcd 的。k8s 版本为 v1.15.5 故障现象93 这台 master 机器重启后,发现 93 节点 NotReady,上去看了下 kubelet 无法连上本机的 kube-apiserver。kube-apiserver ...
Job for docker.service canceled
故障现象内部安装 docker 的脚本报错 docker 安装失败。然后启动发现下面奇怪的问题: 1234567$ systemctl status docker● docker.service - Docker Application Container Engine Loaded: loaded (/etc/systemd/system/docker.service; enabled; vendor preset: enabled) Active: inactive (dead) Docs: http://docs.docker.io$ systemctl start...
openshift 4.5.9 etcd损坏+脑裂修复过程
前言介绍内部机器和环境都是在 vcenter 里,之前的 ocp 集群是 3 master + 1 worker,也就是之前的openshift 4.5.9 离线安装后的环境,后面有几台宿主机负载太高,同事看我机器负载最高,关了几台,这几天需要用下 openshift 环境。登录到 bastion 上 get 超时,看了下 haproxy 的 stat web,全部红了。。然后把所有机器开机后发现还是起不来。 操作openshift 的 master 节点和 kubeadm 很像,几个组件都是 staticPod 形式起的。客户端也不是 docker,使用 crictl 就行了 查看 k...
docker-ce 18.09.3 启动panic: invalid freelist page: 56, page type is leaf的解决处理
这个问题和之前的docker-18.06.3-ce启动panic: invalid page type: 0: 0的解决处理差不多,不过 db 文件不同。客户停止 docker 后起不来了,查看日志: 1journalctl -xe -u docker 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879805月 26 18:42:17 xxx...