Невозможно отладить Java-приложение через драйвер стека в кластере Google Kubernetes - PullRequest
2 голосов
/ 08 ноября 2019

Я пытаюсь отладить Java-приложение на кластере GKE через драйвер стека. Я создал кластер GKE с Allow full access to all Cloud APIs Я имею следующую документацию: 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: короткое чтение.

В консоли отладки в стеке всегда отображается «Не найдено развернутое приложение». Какое приложение это покажет? У меня уже есть 2 службы, развернутые в моем кластере kubernetes.

Я уже выполнил gcloud debug source gen-repo-info-file --output-directory="WEB-INF/classes/ в каталоге моего проекта.

Он сгенерировал source-context.json. После его создания я попытался создать образ докера, и он не работал.

1 Ответ

2 голосов
/ 11 ноября 2019

Отладчик будет готов к использованию при развертывании приложения в контейнере. Вы получаете No deployed application found ошибку, потому что ваш агент отладчика не может загрузить или разархивировать в dockerfile.

Пожалуйста, проверьте это обсуждение , чтобы устранить ошибку tar: invalid magic , tar: short read..

...