我目前有一個使用很多的 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.
...
- 1 回答
- 0 關注
- 252 瀏覽
添加回答
舉報
0/150
提交
取消