【问题标题】:Unable to debug java app through stack driver in google kubernetes cluster无法通过谷歌 kubernetes 集群中的堆栈驱动程序调试 java 应用程序
【发布时间】:2020-03-05 00:13:08
【问题描述】:

我正在尝试通过堆栈驱动程序在 GKE 集群上调试 Java 应用程序。 我用Allow full access to all Cloud APIs 创建了一个 GKE 集群 我正在关注文档:https://cloud.google.com/debugger/docs/setup/java

这是我的 DockerFile:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} alnt-watchlist-microservice.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/alnt-watchlist-microservice.jar"]

在文档中,它被写入在 DockeFile 中添加以下行:

RUN  mkdir /opt/cdbg && \
     wget -qO- https://storage.googleapis.com/cloud-debugger/compute-java/debian-wheezy/cdbg_java_agent_gce.tar.gz | \
     tar xvz -C /opt/cdbg

RUN java -agentpath:/opt/cdbg/cdbg_java_agent.so 
    -Dcom.google.cdbg.module=tpm-watchlist
    -Dcom.google.cdbg.version=v1
    -jar /alnt-watchlist-microservice.jar

当我构建 DockerFile 时,提示 tar: invalid magic , tar: short read 失败。

在 stackdriver 调试控制台中,它总是显示“未找到已部署的应用程序”。它将显示哪个应用程序?我的 kubernetes 集群上已经部署了 2 个服务。

我已经执行了 gcloud debug source gen-repo-info-file --output-directory="WEB-INF/classes/ 在我的项目目录中。

它生成了 source-context.json。创建后,我尝试构建 docker 映像,但失败了。

【问题讨论】:

    标签: kubernetes google-kubernetes-engine stackdriver google-cloud-stackdriver google-cloud-debugger


    【解决方案1】:

    当您部署容器化应用时,调试器就可以使用了。您收到 No deployed application found 错误,因为您的调试器代理无法在 dockerfile 中下载或解压缩。

    请检查this discussion 以解决tar: invalid magic , tar: short read. 错误。

    【讨论】:

    • 有 2 个选项:手动下载并提取 opt/cdbg/cdbg_java_agent.so 或启用对所有云 API 的访问权限。我选择了后来的一个。我认为我现在不需要提取代理。我还使用了 Google 提供的 Java 基础图像。还有什么我需要做的吗?我仍然看不到任何要调试的应用程序。
    【解决方案2】:

    不幸的是,Alpine 似乎没有定期使用 Debugger 进行测试。这里有一个示例设置可能会对您有所帮助:https://github.com/GoogleCloudPlatform/cloud-debug-java#alpine-linux

    【讨论】:

      【解决方案3】:

      我解决了这个问题。

      首先,您必须使用 java 映像“gcr.io/google-appengine/openjdk”而不是 Alpine 映像。

      其次, 我放置的入口点没有逗号分隔(基本上格式错误)

      ENTRYPOINT ["java","-agentpath:/opt/cdbg/cdbg_java_agent.so", "-Djava.security.egd=file:/dev/./urandom"  ,"-Dcom.google.cdbg.module=watchlist"]
      
      

      【讨论】:

        猜你喜欢
        • 2019-02-12
        • 1970-01-01
        • 2019-11-04
        • 2020-03-28
        • 2016-08-27
        • 1970-01-01
        • 2019-01-11
        • 1970-01-01
        • 2018-05-18
        相关资源
        最近更新 更多