首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调试在带有Telepresence的AKS上运行的Scala微服务?

如何调试在带有Telepresence的AKS上运行的Scala微服务?
EN

Stack Overflow用户
提问于 2022-07-13 15:55:52
回答 1查看 54关注 0票数 0

我知道你可以用Telepresence来调试java微服务。Scala运行在JVM上,所以它不应该是一个问题,对吗?但出于某种原因我没能做到。

我跟随youtube上的这段视频学习了一篇远程在场教程。

我截获了我想要调试的服务。它给Kafka和mariadb(mysql)带来了一些错误。因此,在IntelliJ中,我根据它们在AKS上的属性更改了它们的配置,比如host = "kafka.default:9092",因为它的名称空间是默认的,名称是kafka,端口是9092。Kafka和Mysql似乎都是连接在一起的,目前它们没有出现任何错误。

在IntelliJ中,我调用一个Boot.scala类,根据我的理解,它读取配置并构建项目。当我在本地application.conf中将该服务的端口更改为80时(就像在AKS中一样),它会给出以下错误。在任何其他端口,它只听。

代码语言:javascript
复制
I|2022-07-13 15:41:00,893|c.a.libats.http.tracing.Tracing$|Request tracing disabled in config
E|2022-07-13 15:41:01,901|akka.io.TcpListener|Bind failed for TCP channel on endpoint [/0.0.0.0:80]

当我用Telepresence截取这个服务时,网站上的获取过程还没有结束。我几乎在任何地方都有断点,我总是调试这个项目,它从来没有碰到其中的任何一个。到底是怎么回事?此外,我是开放的,在远程调试AKS重定向。

PS:这个项目是我继承的,我以前没有scala的经验。所以我可能错过了一些简单的东西。

PS2:当我离开远程存在截取并只在本地运行时,没有什么变化。相同的日志,80个端口的相同情况。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-17 23:51:21

好吧,很管用。只需添加远程存在,它将拦截吊舱并附加到您的本地应用程序,而不是运行在吊舱上的代码。因此,您必须相应地进行配置,因为这将是运行在吊舱内的代码。只是不要使用端口80,因为它是为HTTP 保留的,即使是,当您"kubectl get svc -A“时,它说端口为80。只需在不指定端口的情况下使用telepresence intercept nameoftheservice,它将代替您,并在本地环境配置中相应地更改端口。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72969233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档