【问题标题】:kubernetes kubectl stalls for 2 Minuteskubernetes kubectl 停顿 2 分钟
【发布时间】: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


【解决方案1】:

延迟可能有两个原因

  1. kubectl 位于网络驱动器上(主要是 H: 驱动器),因此首先将 kubectl 复制到您的。系统和运行
  2. .kube/config 文件在网络驱动器上

所以总结一下,你将面临网络驱动器上的任何一个问题。

如果这不起作用,你可以再尝试一件事,你可以运行 kubectl command -v=20 这将给出它所花费的所有时间。

reference

【讨论】:

    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    • 1970-01-01
    • 2019-03-07
    • 2021-08-04
    相关资源
    最近更新 更多