为了账号安全,请及时绑定邮箱和手机立即绑定

当启用使用 dlv 进行远程调试时,kubectl 日志仅显示“API 服务器侦听:

当启用使用 dlv 进行远程调试时,kubectl 日志仅显示“API 服务器侦听:

Go
aluckdog 2023-03-07 16:36:39
我目前有一个使用很多的 go 应用程序fmt.printf。每当该应用程序在 pod 中运行时,我都可以通过以下方式取回日志kubectl logs podname但是我还需要集成远程调试。我需要使用dlv允许我的 ide(GoLand) 远程连接到 pod。它在端口 40000 连接到 Pod。此外,当 Pods 映像运行时,它会暴露端口 40000,即 docker 文件中有这个 40000我的 minikube 中也有类似这样的服务apiVersion: v1kind: Servicemetadata:  name: mydebugspec:  type: ClusterIP  selector:    app: fooapp  ports:  - protocol: TCP    port: 40000    targetPort: 40000    name: delve现在,当我这样做时,kubectl logs podname我只会得到这个API server listening at: [::]:400002022-10-30T21:18:57Z warning layer=rpc Listening for remote connections (connections are not authenticated nor encrypted)有没有办法取回我的日志?何
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

您可以使用--continueexec 标志,在启动时继续调试过程,这将导致继续记录。


所以开始研究例如:


dlv --listen=:2345 --headless exec your/app --continue

如果没有该--continue标志,delve 将等待远程连接并停止您的应用程序。使用--continue标志,应用程序将已经启动。


来自dlv help exec:


...

Usage:

  dlv exec <path/to/binary> [flags]


Flags:

      --continue     Continue the debugged process on start.

...


查看完整回答
反对 回复 2023-03-07
  • 1 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信