上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 69 下一页

2024年2月15日

编译调试kube-apiserver

摘要: k8s v1.19.0 cd kubernetes && make generated_filescd cmd/kube-apiserver && go build 报错app/server.go:467:87: undefined: openapi.GetOpenAPIDefinitionscd 阅读全文

posted @ 2024-02-15 19:19 王景迁 阅读(56) 评论(0) 推荐(0)

2024年2月12日

kube-apiserver限流配置

摘要: k8s v1.19.0 watch这种长时间运行请求不受限流影响。 普通限流 客户端访问kube-apiserver,限流参数有max-mutating-requests-inflight(默认值是200,对应操作类请求)和max-requests-inflight(默认值是400,对应查询类请求) 阅读全文

posted @ 2024-02-12 14:16 王景迁 阅读(462) 评论(0) 推荐(0)

2024年2月9日

client-go 分析Shutdown方法耗时长原因

摘要: k8s v1.19.0 Shutdown等待结束流程 第1步:reflector停止list/watch。 第2步:DeltaFifo队列关闭,元素全部取出,放入用户队列。 第3步:等待业务处理完成。 场景1:Shutdown方法等待EventHandler回调方法完成 klog.InitFlags 阅读全文

posted @ 2024-02-09 20:20 王景迁 阅读(33) 评论(0) 推荐(0)

关闭kubelet驱逐

摘要: /etc/sysconfig/kubelet末尾追加内容--eviction-hard=imagefs.available<1%,memory.available<1Mi,nodefs.available<1%,nodefs.inodesFree<1%重启kubelet 阅读全文

posted @ 2024-02-09 15:33 王景迁 阅读(51) 评论(0) 推荐(0)

2024年2月8日

手写实现cni插件

摘要: k8s v1.19.0 mycni配置文件 cat >> /etc/cni/net.d/mycni.json << EOF { "cniVersion": "0.1.0", "name": "mycni", "type": "mycni" } EOF type对应/opt/cni/bin目录下二进制 阅读全文

posted @ 2024-02-08 22:06 王景迁 阅读(79) 评论(0) 推荐(0)

2024年2月7日

为什么kube-controller-manager启动后https长连接数量是2

摘要: k8s v1.19.0 单节点集群2条长连接 编译二进制并调试 cd cmd/kube-controller-manager && go build # vscode launch.json { "name": "Launch", "type": "go", "request": "launch", 阅读全文

posted @ 2024-02-07 14:26 王景迁 阅读(21) 评论(0) 推荐(0)

2024年2月6日

为什么kube-scheduler启动后https长连接数量是2

摘要: k8s v1.19.0 单节点集群2条长连接 编译二进制并调试 cd cmd/kube-scheduler && go build # vscode launch.json { "name": "Launch", "type": "go", "request": "launch", "mode": 阅读全文

posted @ 2024-02-06 21:34 王景迁 阅读(37) 评论(0) 推荐(0)

2024年2月5日

Etcd读写性能测试

摘要: 单节点etcd集群,etcd版本是3.4.9。 编译etcd benchmark git clone https://github.com/etcd-io/etcd.git cd etcd/ git checkout v3.4.9 rm -rf vendor go install -v ./tool 阅读全文

posted @ 2024-02-05 21:44 王景迁 阅读(297) 评论(0) 推荐(0)

client-go http trace分析耗时

摘要: klog.InitFlags(nil) flag.Parse() defer klog.Flush() cfg, err := clientcmd.BuildConfigFromFlags("", "/root/.kube/config") if err != nil { klog.Fatalf(" 阅读全文

posted @ 2024-02-05 18:39 王景迁 阅读(88) 评论(0) 推荐(0)

go ticker源码分析

摘要: 结构体定义 Timer是一次性定时器,Ticker是周期性定时器,实现相同,系统协程处理所有定时器。 Ticker结构体 C是容量1的channel,如果里面数据没被取走,那么丢失下一个周期事件。 runtimeTimer结构体 这里的回调函数是,向C中存入当前时间。 timersBuckets 数 阅读全文

posted @ 2024-02-05 17:07 王景迁 阅读(35) 评论(0) 推荐(0)

上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 69 下一页

导航