【问题标题】:How to debug GKE internal network issue?如何调试 GKE 内部网络问题?
【发布时间】:2022-01-24 08:49:27
【问题描述】:

这个问题更多是关于当前 GKE 的调试方法,但欢迎提供解决方案。
我们使用 GKE 版本 1.22.3-gke.1500,配置如下:

我们最近遇到的问题是,kubectl logsexec 等命令不起作用,删除命名空间需要很长时间。
检查集群内的一些服务,似乎由于某种原因,一些网络操作随机失败。例如metric-server 不断崩溃并显示这些错误日志:

message: "pkg/mod/k8s.io/client-go@v0.19.10/tools/cache/reflector.go:156: Failed to watch *v1.Node: failed to list *v1.Node: Get "https://10.97.0.1:443/api/v1/nodes?resourceVersion=387681528": net/http: TLS handshake timeout"

HTTP 请求也超时:

unable to fully scrape metrics: unable to fully scrape metrics from node gke-staging-n2d-standard-8-78c35b3a-6h16: unable to fetch metrics from node gke-staging-n2d-standard-8-78c35b3a-6h16: Get "http://10.148.15.217:10255/stats/summary?only_cpu_and_memory=true": context deadline exceeded

我还尝试重新启动(通过 kubectl 删除)此列表中的大部分 pod:

kubectl get pod
NAME                                                  READY   STATUS    RESTARTS        AGE
event-exporter-gke-5479fd58c8-snq26                   2/2     Running   0               4d7h
fluentbit-gke-gbs2g                                   2/2     Running   0               4d7h
fluentbit-gke-knz2p                                   2/2     Running   0               85m
fluentbit-gke-ljw8h                                   2/2     Running   0               30h
gke-metadata-server-dtnvh                             1/1     Running   0               4d7h
gke-metadata-server-f2bqw                             1/1     Running   0               30h
gke-metadata-server-kzcv6                             1/1     Running   0               85m
gke-metrics-agent-4g56c                               1/1     Running   12 (3h6m ago)   4d7h
gke-metrics-agent-hnrll                               1/1     Running   13 (13h ago)    30h
gke-metrics-agent-xdbrw                               1/1     Running   0               85m
konnectivity-agent-87bc84bb7-g9nd6                    1/1     Running   0               2m59s
konnectivity-agent-87bc84bb7-rkhhh                    1/1     Running   0               3m51s
konnectivity-agent-87bc84bb7-x7pk4                    1/1     Running   0               3m50s
konnectivity-agent-autoscaler-698b6d8768-297mh        1/1     Running   0               83m
kube-dns-77d9986bd5-2m8g4                             4/4     Running   0               3h24m
kube-dns-77d9986bd5-z4j62                             4/4     Running   0               3h24m
kube-dns-autoscaler-f4d55555-dmvpq                    1/1     Running   0               83m
kube-proxy-gke-staging-n2d-standard-8-78c35b3a-8299   1/1     Running   0               11s
kube-proxy-gke-staging-n2d-standard-8-78c35b3a-fp5u   1/1     Running   0               11s
kube-proxy-gke-staging-n2d-standard-8-78c35b3a-rkdp   1/1     Running   0               11s
l7-default-backend-7db896cb4-mvptg                    1/1     Running   0               83m
metrics-server-v0.4.4-fd9886cc5-tcscj                 2/2     Running   82              33h
netd-5vpmc                                            1/1     Running   0               30h
netd-bhq64                                            1/1     Running   0               85m
netd-n6jmc                                            1/1     Running   0               4d7h

来自指标服务器的一些日志 https://gist.github.com/nvcnvn/b77eb02705385889961aca33f0f841c7

【问题讨论】:

  • 这听起来像是到达控制平面的问题。我会问你从哪里运行命令,但由于指标资源管理器也遇到了这个问题,我建议你联系谷歌寻求支持,因为控制平面完全由他们管理。
  • 啊是的,这个问题对我来说真的很难,因为我不知道是否可以从控制平面获取任何日志或指标。
  • 顺便说一句,我从 GCP 控制台运行命令。
  • 我可以看到您正在使用 GKE v. 1.22.3-gke.1500,这是一个快速通道。 Rapid channel is offered on an early access basis for customers who want to test new releases before they are qualified for production use or general availability. 您是否尝试使用 Regular 频道中的旧版本?我还可以看到您的一些 pod 有几天,而其他像 konnectivity 是 2 或 3 分钟,您是否将集群扩展到 0,然后再扩大?这个问题是不时出现还是一直出现?
  • 您能否分享kubectl logs metrics-server-v0.4.4-fd9886cc5-tcscj -n kube-system -c metrics-server 的日志或您在尝试使用此命令时遇到的错误?那 82 次重启令人不安。您是否尝试通过here 描述的方式之一检查 GKE 日志?

标签: kubernetes google-kubernetes-engine gke-networking


【解决方案1】:

如果您无法使用 kubectl 从集群中获取信息,您可以尝试使用他们的 restfull api 来访问它们吗 http://blog.madhukaraphatak.com/understanding-k8s-api-part-2/ 尝试使用 podman 或 curl 命令删除“metric-server”pod 或从中获取日志。

【讨论】:

    猜你喜欢
    • 2018-01-26
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 2020-06-26
    • 1970-01-01
    • 2020-03-19
    • 2013-08-29
    相关资源
    最近更新 更多