2023年2月5日

优雅删除Pod

摘要: k8s release-1.15 1. 客户端请求删除Pod。2. kube-apiserver修改Pod信息,设置DeletionTimestamp和DeletionGracePeriodSeconds(优雅等待退出时间,默认30s)。 staging/src/k8s.io/apiserver/p 阅读全文

posted @ 2023-02-05 15:29 王景迁 阅读(248) 评论(0) 推荐(0)

Deployment滚动更新

摘要: 创建Deployment nginx-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: progressDeadlineSeconds: 600 replicas: 阅读全文

posted @ 2023-02-05 15:01 王景迁 阅读(79) 评论(0) 推荐(0)

2023年2月4日

gomonkey不生效

摘要: gomonkey作用在运行时把原函数地址替换为目标函数地址。Mock接口时使用实现接口的结构体。 go.mod require github.com/agiledragon/gomonkey/v2 v2.3.0 a.go package main type A struct {} func (a A 阅读全文

posted @ 2023-02-04 20:50 王景迁 阅读(1781) 评论(0) 推荐(1)

epoll

摘要: select和poll:进程把所有自己连接的套接字传给内核(用户态到内核态的内存拷贝),内核寻找这些连接上没有处理的事件。select和poll最多只能处理上千个并发连接。 epoll1.调用epoll_create来创建1个epoll对象2.调用epoll_ctl来向epoll对象添加、修改或者删 阅读全文

posted @ 2023-02-04 11:09 王景迁 阅读(70) 评论(0) 推荐(0)

2023年2月3日

kubelet上报心跳机制

摘要: kubelet启动时会尝试向kube-apiserver注册节点,启动顺序上优先于kube-proxy,所以kubelet访问kube-apiserver时不依赖于kube-proxy,需要通过额外组件来完成转发,例如keepalive浮动vip+haproxy。 在k8s v1.13之前,kube 阅读全文

posted @ 2023-02-03 22:18 王景迁 阅读(1096) 评论(0) 推荐(0)

2023年1月26日

Nginx读取后端服务响应数据流程

摘要: gdb attach [worker进程号] 在指定文件的898行打上断点b src/event/modules/ngx_epoll_module.c:898 客户端发送请求 按3次c以后,按n(函数单行执行)和s(函数逐行执行)单步调试 确定函数调用过程 上一步调用函数代码 下一步被调函数位置 r 阅读全文

posted @ 2023-01-26 21:42 王景迁 阅读(305) 评论(0) 推荐(0)

2023年1月25日

Node异常时Pod状态分析

摘要: 场景一:停止kubelet并恢复 操作和现象 操作 节点上运行Pod后把kubelet进程停掉。 现象 node状态变为NotReady,不同类型的Pod情况不同。 Deployment Pod在5分钟之后开始一直处于Terminating,创建新Pod。 StatefulSet Pod在5分钟之后 阅读全文

posted @ 2023-01-25 11:07 王景迁 阅读(293) 评论(0) 推荐(0)

2023年1月24日

Nginx同一个worker进程先后处理耗时不同的请求

摘要: epoll监控的事件src/event/modules/ngx_epoll_module.c EPOLLIN: 连接上有数据可读(包括TCP连接的远端主动关闭连接)EPOLLLPRI:连接上要读紧急数据EPOLLOUT: 连接上写入数据并发送(包括向上游服务器发起TCP连接建立成功)EPOLLERR 阅读全文

posted @ 2023-01-24 16:31 王景迁 阅读(53) 评论(0) 推荐(0)

2023年1月23日

RequestMapping注解

摘要: 用法 把http请求映射到方法上。 @Controller public class UserController { @RequestMapping("/user") public String get(){ return "userId"; } } SpringMVC处理流程 阅读全文

posted @ 2023-01-23 14:27 王景迁 阅读(19) 评论(0) 推荐(0)

线程池原理

摘要: Java线程一对一映射为内核线程。线程池可以复用线程,限制线程数量。 参数含义 public ThreadPoolExecutor(int corePoolSize,// 线程池核心线程数 int maximumPoolSize,// 线程池最大线程数 long keepAliveTime,// 当 阅读全文

posted @ 2023-01-23 14:19 王景迁 阅读(49) 评论(0) 推荐(0)

导航