Невозможно отладить приложение Java через драйвер стека в кластере Google Kubernetes

Я пытаюсь отладить приложение 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: короткое чтение.

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

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

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




Ответы (3)


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

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

person MR.K    schedule 11.11.2019
comment
Было 2 варианта: либо вы вручную загружаете и извлекаете opt/cdbg/cdbg_java_agent.so, либо включаете доступ ко всем облачным API. Я выбрал более поздний. Я не думаю, что мне нужно извлекать агент сейчас. Я также использовал предоставленные Google базовые изображения для Java. Что-нибудь еще мне нужно сделать? Я до сих пор не вижу ни одного приложения для отладки. - person Roobal Jindal; 18.11.2019

К сожалению, похоже, что Alpine не тестируется регулярно с отладчиком. Здесь есть пример настройки, который может вам помочь: https://github.com/GoogleCloudPlatform/cloud-debug-java#alpine-linux

person wjg    schedule 20.11.2019

Я решил проблему.

Во-первых, вам придется использовать 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"]

person Roobal Jindal    schedule 02.12.2019