记一次Nginx产生RST的研究

背景在Linux EC2上部署了Nginx服务,前面加了一个AWS NLB,使用Route 53 Health Checker来对NLB进行健康检查,其原理是模拟发送HTTPS GET请求。NLB提供了客户端和服务端产生的RST指标,指标显示Linux产生了很多RST。初步分析虽然产生了RST,但不代表真的有影响。先从客户端,也就是Route53 Health Checker入手,发现所有的检查结果都是成功的,即可以获取到200状态码,那么看来虽然服务端产生了RST,但对客户端的访问没有影响。 »

K8S集群使用cronjob自动更新AWS ECR Token

AWS ECR提供私有镜像仓库,访问之前需要通过AWS ECR的认证,然后才能操作。原始的docker认证方式是这样的:aws ecr get-login-password --region cn-northwest-1 | docker login --username AWS --password-stdin 123456.dkr.ecr.cn-northwest-1.amazonaws.com.cn之后就可以使用docker操作pull或者push了。对于K8S来说,我们并不直接操作do »

man man 分类:K8S 标签:none

eBPF:使用bcc调试BGP MD5(TCP MD5 Signature Option)过程

我为什么要做这个事情在路由器上配置BGP之后,BGP进程会打印一些BGP日志,例如邻居UP,邻居Down*Nov 24 09:18:40.993: %BGP-5-NBR_RESET: Neighbor 10.0.0.50 active reset (Peer closed the session)这些其实还是BGP进程在做的事情。但如果配置了BGP MD5认证,遇到的报错就是这样*Nov 24 09:14:05.326: %TCP-6-BADAUTH: No MD5 digest from 1 »

man man 分类:TCP/IP 标签:none

AWS EC2安装Kubernetes (K8S)集群

环境说明:10.0.0.27 node1 Amazon Linux 2 kernel 5.1010.0.0.180 master Amazon Linux 2 kernel 5.1010.0.0.106 node2 Amazon Linux 2 kernel 5.10设置hostnamehostnamectl set-hostname master #只在master上执行hostnamectl set-hostname node1 #只在node1上执行hos »

man man 分类:默认分类 标签:none

Ryu内置控制器性能测试模块

我们在使用控制器的时候,有时候会想知道Packet In的速率。借鉴于Ryu拓扑发现模块的设计思路,我们可以把测量Packet In速率也作为一个模块。测量Packet In速率算是测量控制器性能的一种方式,扩展一下,我们可以在这个模块里添加其他用于测量控制器性能的功能。这里我们参考全球SDN测试认证中心发布的白皮书[1],可以添加一些里面的功能。模块设计思路在ryu/ryu目录下创建packet_目录,里面包含如下核心文件:dump.py作为应用文件,将packet_in.py里的Packe »