无法创建macvlan设备

最近给客户调试 macvlan network时,遇到了Linux kernel 报错 SIOCSIFFKAGS: Device or resource busy. 无法创建网络device。 结果长时间的debug分析, 发现问题是高并发压测 创建和释放macvlan device的时候,设备的mac address出现了重复。 ...

March 7, 2019 · datewu

pod生命周期事件生成器

PLEG 不熟悉PLEG(Pod Lifecycle Event Generator)的同学,可以先看下这篇文章What is PLEG?。 这篇文章对pleg是什么和常见的unhealthy问题有很详细的介绍。 ...

February 11, 2019 · datewu

VPC模式

之前写了一篇post 适配腾讯云backend 的文章,从代码的角度简单记录了flannel vpc backend实现过程。 这篇文章是对前面文章的补充,全局鸟瞰描绘了flannel vpc backend网络数据包的流动过程。 ...

September 11, 2018 · datewu

收集容器syslog

有一个app 跑在pod里面,这个app 默认会输出自己的运行日志到syslogd, 请问如何让host主机上运行的syslogd日志收集器收集到上面app输出的运行日志呢? ...

September 3, 2018 · datewu

调度到master节点

一般来说,kubernetes 的pod是不在master 节点上运行的。 如果要求pod 必须被调度到master 节点上运行,可以修改pod 的 toleration 和 affinity。 ...

August 18, 2018 · datewu

替换k8s所有证书

客户需要把kubernetes apiserver/etcd/kubelet/kubectl 等所有的证书有效期修改为100年。 很明显这是一个不合理的需求,不过客户说什么就是什么。 于是经几天的调试有了下面的这个 Makefile批量生成所有(FILES变量)的证书。 ...

August 10, 2018 · datewu

审计目录

今天调试容器应用的时候发现,app运行一段时间后,容器外挂的一个volumn会偶发性的被删除。 于是需要监控下到底是谁/哪个进程把文件目录给删除了。 ...

June 20, 2018 · datewu

内核升级

众所周知centos的内核版本选择很保守,很多新内核的新特性,特别是网络和debug方面的特性都没有,所以我们来给centos升级下 kernel吧。 ...

May 16, 2018 · datewu

配置vscode eslint

离职一段时间了,需要自己写点前端代码。 奈何vim的js插件对jsx的支持不太友好,所以转向vscode写点jsx。 写了些react app代码后,IDE到处飘红色的波浪线〰️〰️〰️,很是恼人。 ...

April 16, 2018 · datewu

配置http selinux

今天在digitocean一台新申请的主机上部署web应用。部署完成,打开浏览器发现报错403。 部署的web应用很简单,后端用nginx做了反向代理,应该没啥大问题。 进一步打开chrome的console,发现对static file的访问报错403,还没到后端就已经报错了, 估计后面的 upstream socket也会报错。 ...

April 16, 2018 · datewu