我正在尝试通过堆栈驱动程序在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:无效的魔法,tar:简短阅读。
在堆栈驱动器调试控制台中,它始终显示“未找到已部署的应用程序”。它会显示哪个应用程序?我已经在Kubernetes集群上部署了2个服务。
我已经执行过gcloud debug source gen-repo-info-file --output-directory="WEB-INF/classes/
在我的项目目录中。
它生成了source-context.json。创建完成后,我尝试构建docker映像及其失败。
当部署容器化应用程序时,调试器即可使用。您收到No deployed application found
错误,因为调试器代理无法在dockerfile中下载或解压缩。
请检查this discussion以解决tar: invalid magic , tar: short read.
错误。