【发布时间】:2017-11-12 07:20:46
【问题描述】:
我正在运行 kubectl:
Microsoft Windows [Version 10.0.14393]
指向部署在 Azure 中的 Kubernetes 集群。
带有详细日志记录且前面带有时间回显的 kubectl version 命令在显示 API 调用的任何活动之前显示延迟约 2 分钟。
注意在调用命令后显示 2 分钟的第一条日志行。
C:\tmp>echo **19:12:50**.23
19:12:50.23
C:\tmp>kubectl version --kubeconfig=C:/Users/jbafd/.kube/config-hgfds-acs-containerservice-1 -v=20
Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.4", GitCommit:"d6f433224538d4f9ca2f7ae19b252e6fcb66a3ae", GitTreeState:"clean", BuildDate:"2
017-05-19T18:44:27Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"windows/amd64"}
I0610 **19:14:58.311364 9488 loader.go:354]** Config loaded from file C:/Users/jbafd/.kube/config-hgfds-acs-containerservice-1
I0610 19:14:58.313864 9488 round_trippers.go:398] curl -k -v -XGET -H "Accept: application/json, */*" -H "User-Agent: kubectl.exe/v1.6.4 (windows/amd64) kub
ernetes/d6f4332" https://xxjjmaster.australiasoutheast.cloudapp.azure.com/version
I0610 19:14:58.519869 9488 round_trippers.go:417] GET https://xxjjmaster.australiasoutheast.cloudapp.azure.com/version in 206 milliseconds
其他 kubectl 命令(获取节点等)表现出相同的延迟。 刷新 dns 缓存并没有解决问题,但看起来 API 请求是响应式的。同样以管理员身份运行命令也无济于事。 kubectl 在加载配置之前还尝试了哪些其他操作?
【问题讨论】:
-
请正确格式化您的问题。 kubectl 只是一个与 API 服务器通信的 CLI,它确实加载了令牌/证书,以便可以对请求进行身份验证。 API 服务器本身将使用提供的令牌/证书进行身份验证,以建立和授权调用者。由于 API 服务器的负载,与 API 服务器的通信很可能会变慢。
-
断开我的 VPN 与我的工作网络的连接会缩短相同“kubectl”命令的响应时间,初始延迟约为 10 秒(而不是 2 分钟)。根据“Yerken”的评论,最初的延迟可能是授权令牌证书交换的结果。
标签: kubernetes kubectl