使用Docker Desktop在本地调试部署到Kubernetes的应用程序的最佳方法是什么?

b4qexyjb  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(3)|浏览(145)

我有使用Docker开发相对复杂的应用程序的经验。使用Visual Studio(2019)调试应用程序非常容易。我只是将docker-compose.yaml设置为启动应用程序并开始调试。
是否可以使用Docker Desktop调试本地发布到Kubernetes的应用程序?通过调试,我的意思是设置断点等?我花了几个小时在谷歌上搜索这个问题,但没有找到任何答案,因此我提出了这个问题。
请注意,我不是在问如何调试发布到云中的Kubernetes的应用程序。Azure -有很多网页解释如何做到这一点。

sc4hvdpw

sc4hvdpw1#

假设映像使用Java CMD,包括标准调试JVM参数(What are Java command line options to set to allow JVM to be remotely debugged?),然后在运行容器时公开调试端口,并在IDE中在容器启动后在该端口上设置远程调试会话。

i86rm4rw

i86rm4rw2#

Telepresence可能非常适合你。
使用网真,您可以使用您最喜欢的调试工具在本地调试Kubernetes服务。所以K8S集群在哪里并不重要。
看看this教程,看看它是如何工作的。

工作原理:

Telepresence为您在Kubernetes集群中运行的普通Pod替换了一个双向网络代理。这个pod将Kubernetes环境中的数据(例如,TCP连接,环境变量,卷)代理到本地进程。本地进程透明地覆盖其网络,以便DNS调用和TCP连接通过代理路由到远程Kubernetes集群。

92dk7w1h

92dk7w1h3#

你可以stdout docker logs,使用kubectl logs pod_name -n namespace_name

相关问题