首页 > 其他分享 >为什么kube-controller-manager启动后https长连接数量是2

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

时间:2024-02-07 14:33:24浏览次数:25  
标签:kubernetes -- controller etc manager https kube

k8s v1.19.0

单节点集群2条长连接

编译二进制并调试

cd cmd/kube-controller-manager && go build

# vscode launch.json
{
    "name": "Launch",
    "type": "go",
    "request": "launch",
    "mode": "exec",
    "program": "/root/code/gomod/k8s.io/kubernetes/cmd/kube-controller-manager/kube-controller-manager",
    "env": {},
"args": ["--allocate-node-cidrs=true", "--authentication-kubeconfig=/etc/kubernetes/controller-manager.conf","--authorization-kubeconfig=/etc/kubernetes/controller-manager.conf","--bind-address=127.0.0.1","--client-ca-file=/etc/kubernetes/pki/ca.crt","--cluster-cidr=10.16.0.0/16","--cluster-name=kubernetes","--cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt","--cluster-signing-key-file=/etc/kubernetes/pki/ca.key","--controllers=*,bootstrapsigner,tokencleaner","--kubeconfig=/etc/kubernetes/controller-manager.conf","--leader-elect=true","--node-cidr-mask-size=24","--port=0","--requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt","--root-ca-file=/etc/kubernetes/pki/ca.crt","--service-account-private-key-file=/etc/kubernetes/pki/sa.key","--service-cluster-ip-range=10.96.0.0/12","--use-service-account-credentials=true"]
}

leaderelection建立第1条长连接

cmd/kube-controller-manager/app/controllermanager.go
Run函数

StartControllers建立第2条长连接

cmd/kube-controller-manager/app/controllermanager.go
Run函数

controller较多,只保留endpoint、bootstrapsigner和tokencleaner,方便调试。
cmd/kube-controller-manager/app/controllermanager.go

startEndpointController里面syncService方法会增加第2条长连接。
pkg/controller/endpoint/endpoints_controller.go
syncService方法

informer和leaderelection维持2条长连接

cmd/kube-controller-manager/app/controllermanager.go
Run函数

标签:kubernetes,--,controller,etc,manager,https,kube
From: https://www.cnblogs.com/WJQ2017/p/18010903

相关文章