环境信息三个 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 ...
故障现象内部安装 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...
前言介绍内部机器和环境都是在 vcenter 里,之前的 ocp 集群是 3 master + 1 worker,也就是之前的openshift 4.5.9 离线安装后的环境,后面有几台宿主机负载太高,同事看我机器负载最高,关了几台,这几天需要用下 openshift 环境。登录到 bastion 上 get 超时,看了下 haproxy 的 stat web,全部红了。。然后把所有机器开机后发现还是起不来。
操作openshift 的 master 节点和 kubeadm 很像,几个组件都是 staticPod 形式起的。客户端也不是 docker,使用 crictl 就行了
查看 k...
这个问题和之前的docker-18.06.3-ce启动panic: invalid page type: 0: 0的解决处理差不多,不过 db 文件不同。客户停止 docker 后起不来了,查看日志:
1journalctl -xe -u docker
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879805月 26 18:42:17 xxx...
about现场反馈客户环境上业务不正常,根据调用链去看某个业务A日志,发现无法请求另一个业务B,把业务 A 的探针取消了,加上
12tty: truecommand: ["bash"]
起来后进去 curl 了下 B 对应的 svcIP 接口是能通的。然后手动起业务进程,再开个窗口 exec 进去 curl 发现就不通了,k8s node数量是只有一个,并且只有这一个 pod 有问题。后面排查到是用户的安全软件导致的。软件名是
1234567$ ps aux | grep agentroot 6349 0.3 0.1 21046316 116820 ?...
前提详情在 3.x 的内核上,cgroup 的 kmem account 特性有内存泄露问题。kubelet 和 runc 都需要修复。
网上有言论说升级 Linux 内核至 kernel-3.10.0-1075.el7 及以上就可以修复这个问题,详细可见 slab leak causing a crash when using kmem control group。但是我测试了下面的都不行:
CentOS7.4
CentOS7.6
CentOS7.7的 3.10.0-1062.el7.x86_64
CentOS Linux release 7.8.2003 (Core) - 3.1...
由来我们内部有套部署的工具, 我们部署的流程是先在部署机器(部署机器可能也是node1 )上用脚本安装好 docker,然后进容器里去起我们部署平台,有个很久的 bug 就是,部署机器上端口映射起容器会有如下报错
1iptables --wait -t nat -A DOCKER -p tcp -d 0/8 --dport 8089 -j DNAT --to-destination 172.25.0.2:80 ! -i docker0: iptables NO chain/target/match by that name
排查也很简单,缺少链,添加上即可:
123sudo iptab...
由来今天在折腾 admission webhook 注入一些属性的时候遇到了 Error from server (InternalError): error when creating "xxx.yml": Internal error occurred: jsonpatch add operation does not apply: doc is missing path: "/spec/template/spec/dnsConfig/options"。折腾半天才发现在代码里使用 jsonPatch 的话不能直接绕过结构体实例去 patch。 ...
说明git 上搜索了很多 docker-compose 的 arm64 的编译基本都是使用 qemu-user-static 之类的设置下后编译的,也看到过用特权容器启动 qemu-user-static 或者 binfmt 之类的,但是我自己机器上试了无效,貌似是因为我操作系统是低版本内核的 centos ,github 上搜了下,其他很多人的编译感觉太啰嗦了。就在 action 上整了下,测试是可用的,而且非常简单。
docker-practice/actions-setup-docker@master 将会在在 action 的 runner 里安装 docker,创建 build...
由来这几天我们内部在做新项目的容灾测试,业务都是在 K8S 上的。容灾里就是随便选节点 shutdown -h now。关机后同事便发现了(页面有错误,最终问题是)集群内 DNS 解析会有几率无法解析(导致的)。
根据 SVC 的流程,node 关机后,由于 kubelet 没有 update 自己。node 和 pod 在 apiserver get 的时候显示还是正常的。在 kube-controller-manager 的 --node-monitor-grace-period 时间后再过 --pod-eviction-timeout 时间开始 eviction pod,大概流程是...
e2fsck 静态编译和笔记
chrony 静态编译和笔记
由来起初是 k8s 有几个 node not ready,上去看了下 kubelet 日志刷 container runtime down,重启了下 docker 后还是没用,docker ps 命令都卡住。
环境信息1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253$ cat /etc/redhat-release Linux xxx-disk0 3.10.0-1127.13.1.el7.x86_64 #1 SMP Tue Jun 23 15:...
记录下今天被 ansible 会话持久坑到的一个 user group 问题
由来这几天同事发现在 docker 容器里运行 ansible 命令很卡,发来了个命令叫我试试 ansible localhost -m setup -a 'filter=ansible_default_ipv4' 2>/dev/null |grep '\"address\"' |awk -F'\"' '{print $4}'
环境信息12345678910111213141516171819202122232425262728293031323334353637383...