Почему POD выдает исключение InvoctionTargetExceptionJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему POD выдает исключение InvoctionTargetException

Сообщение Anonymous »

Я новичок в Kubernetes и хочу запустить базовое приложение Spring-Boot внутри пространства имен.
Под всегда пытается запуститься и выдает эту ошибку:

Исключение в потоке «main» java.lang.reflect.InvocatingTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Неизвестный
Источник)
в java.base/java.lang.reflect.Method.invoke(Неизвестный источник)
в org. Springframework.boot.loader.launch.Launcher.launch(Launcher.java:102)
at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:64)
в org.springframework.boot.loader.launch.JarLauncher.main(JarLauncher.java:40)
Вызвано автор: java.lang.reflect.IndictionTargetException

и это Ошибка:


Вызвано: java.lang.StackOverflowError
в java.base/java.lang.ThreadLocal. getCarrierThreadLocal(неизвестный источник)
в java.base/java.lang.System$2.getCarrierThreadLocal(неизвестный источник)
в java.base/jdk.internal.misc.CarrierThreadLocal.get(Неизвестный источник)
в java.base/sun.nio.fs.NativeBuffers.getNativeBufferFromCache(Неизвестный
Источник)
в java. base/sun.nio.fs.UnixNativeDispatcher.copyToNativeBuffer(Неизвестно
Источник)
в java.base/sun.nio.fs.UnixNativeDispatcher.stat(Неизвестный источник)
В java.base/sun.nio.fs.UnixFileAttributes.get(Неизвестный источник)
в java.base/sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(Unknown
Источник)
в java.base/sun.nio.fs.UnixFileSystemProvider.readAttributes(Неизвестно
Источник)
в java.base/sun.nio.fs.LinuxFileSystemProvider.readAttributes(Неизвестно)
Источник)
по адресу java.base/java.nio.file.Files.readAttributes(Неизвестно Источник)
в java.base/java.util.zip.ZipFile$Source.get(Неизвестный источник)
в java.base/java.util.zip.ZipFile$CleanableResource.(Неизвестно
>Источник)
в java.base/java.util.zip.ZipFile.(Неизвестный источник)
в java.base/java.util.zip.ZipFile.(Неизвестный источник)
в java.base/java.util.jar.JarFile.(Неизвестный источник)
в java.base/java.util. jar.JarFile.(Неизвестный источник)
в java.base/java.util.jar.JarFile.(Неизвестный источник)
в org.springframework.boot.loader.jar.NestedJarFile.(NestedJarFile.java:141)
at org.springframework.boot.loader.jar.NestedJarFile.(NestedJarFile.java:124)
at org.springframework.boot.loader.net.protocol.jar.UrlNestedJarFile.(UrlNestedJarFile.java:42)
at org.springframework.boot.loader.net.protocol.jar.UrlJarFileFactory.createJarFileForNested(UrlJarFileFactory.java:86)
at org.springframework.boot.loader.net.protocol.jar.UrlJarFileFactory.createJarFile(UrlJarFileFactory.java:55)
at org.springframework.boot.loader.net.protocol.jar.UrlJarFiles.getOrCreate(UrlJarFiles.java) :72)
в org.springframework.boot.loader.net.protocol.jar.JarUrlConnection.connect(JarUrlConnection.java:289)
в org.springframework.boot.loader.net.protocol.jar.JarUrlConnection.getJarFile(JarUrlConnection.java :99)
в org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader.getJarFile(JarUrlClassLoader.java:188)
at org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader.definePackage(JarUrlClassLoader.java:146)
at org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader.definePackageIfNecessary(JarUrlClassLoader.java:129)


Я тоже использую Helm, но с файлами Helm все в порядке.
Мой Dockerfile выглядит так что:

Код: Выделить всё

FROM devtools.mlp.de/ubi8/minimum/java-21:8.10-1088-1-java21.0.5_11

ARG COMMIT_ID=WirdDurchJenkinsGesetztWerden

COPY /target/*-spring-boot.jar app.jar

ENTRYPOINT ["java", "-Xms2G", "-Xmx2G", "-XX:+UseG1GC", "-XX:+ExitOnOutOfMemoryError", "-jar", "app.jar"]

LABEL COMMIT_ID=${COMMIT_ID}
А мой POM выглядит так:

Код: Выделить всё

x s i : s c h e m a L o c a t i o n = & q u o t ; h t t p : / / m a v e n . a p a c h e . o r g / P O M / 4 . 0 . 0   h t t p s : / / m a v e n . a p a c h e . o r g / x s d / m a v e n - 4 . 0 . 0 . x s d & q u o t ; & g t ; < b r   / >         & l t ; m o d e l V e r s i o n & g t ; 4 . 0 . 0 & l t ; / m o d e l V e r s i o n & g t ; < b r   / > < b r   / >         & l t ; p a r e n t & g t ; < b r   / >                 & l t ; g r o u p I d & g t ; o r g . s p r i n g f r a m e w o r k . b o o t & l t ; / g r o u p I d & g t ; < b r   / >                 & l t ; a r t i f a c t I d & g t ; s p r i n g - b o o t - s t a r t e r - p a r e n t & l t ; / a r t i f a c t I d & g t ; < b r   / >                 & l t ; v e r s i o n & g t ; 3 . 4 . 1 & l t ; / v e r s i o n & g t ; < b r   / >                 & l t ; r e l a t i v e P a t h / & g t ; < b r   / >         & l t ; / p a r e n t & g t ; < b r   / > < b r   / >         & l t ; g r o u p I d & g t ; c o m . m l p & l t ; / g r o u p I d & g t ; < b r   / >         & l t ; a r t i f a c t I d & g t ; b e r u f e s u c h e & l t ; / a r t i f a c t I d & g t ; < b r   / >         & l t ; v e r s i o n & g t ; 1 . 0 . 0 - S N A P S H O T & l t ; / v e r s i o n & g t ; < b r   / >         & l t ; p a c k a g i n g & g t ; j a r & l t ; / p a c k a g i n g & g t ; < b r   / > < b r   / >         & l t ; p r o p e r t i e s & g t ; < b r   / >                 & l t ; j a v a . v e r s i o n & g t ; 2 1 & l t ; / j a v a . v e r s i o n & g t ; < b r   / >                 & l t ; p r o j e c t . b u i l d . s o u r c e E n c o d i n g & g t ; U T F - 8 & l t ; / p r o j e c t . b u i l d . s o u r c e E n c o d i n g & g t ; < b r   / > < b r   / >                 & l t ; m a v e n - c o m p i l e r - p l u g i n . v e r s i o n & g t ; 3 . 1 3 . 0 & l t ; / m a v e n - c o m p i l e r - p l u g i n . v e r s i o n & g t ; < b r   / >                 & l t ; m a v e n - c l e a n - p l u g i n . v e r s i o n & g t ; 3 . 4 . 0 & l t ; / m a v e n - c l e a n - p l u g i n . v e r s i o n & g t ; < b r   / >                 & l t ; m a v e n - s u r e f i r e - p l u g i n - v e r s i o n & g t ; 3 . 5 . 2 & l t ; / m a v e n - surefire-plugin-version>
3.8.1
3.4.0




org.springframework.boot
spring-boot-starter-test
test


org.springframework.boot
spring-boot-starter-web


org.springframework.boot
spring-boot-starter-actuator






org.apache.maven.plugins
maven-compiler-plugin
${maven-compiler-plugin.version}

${java.version}
true



org.springframework.boot
spring-boot-maven-plugin
${maven-spring-boot-plugin.version}



repackage


spring-boot





org.apache.maven.plugins
maven-dependency-plugin
${maven-dependency-plugin.version}



properties





org.apache.maven.plugins
maven-surefire-plugin
${maven-surefire-plugin-version}


org.apache.maven.plugins
maven-clean-plugin
${maven-clean-plugin.version}






OWASP



org.owasp
dependency-check-maven








maven-releases
Nexus Repository Releases
https://devtools.mlp.de/nexus/repository/maven-releases/


maven-snapshots
Nexus Repository Snapshots
https://devtools.mlp.de/nexus/repository/maven-snapshots/


`
И последнее, но не менее важное: свойства моего приложения:

Код: Выделить всё

    spring.application.name=berufesuche

management.prometheus.metrics.export.enabled=true
management.endpoints.web.exposure.include=health,prometheus,info
management.endpoint.health.show-details=always
Config.yaml

Код: Выделить всё

    image:
repository: berufesuche
tag: minikube
pullPolicy: IfNotPresent

ingress:
hosts:
- host: pa.localhost
paths:
- path: /berufesuche(/|)(.*)
pathType: ImplementationSpecific
deployment.yaml

Код: Выделить всё

    apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "berufesuche.fullname" . }}
labels:
app: {{- include "berufesuche.labels" . | nindent 4 }}
spec:
{{- if not .Values.autoscaling.enabled }}
replicas: {{ .Values.replicaCount }}
{{- end }}
selector:
matchLabels:
{{- include "berufesuche.selectorLabels" . | nindent 6 }}
template:
metadata:
annotations:
co.elastic.logs/enabled: "true"
co.elastic.logs/raw: >-
[{
"type": "container",
"paths": ["/var/log/containers/*-${data.kubernetes.container.id}.log"],
"json": {
"message_key": "message",
"keys_under_root": true,
"overwrite_keys": false,
"add_error_key": true
}
}]
co.elastic.metrics/module: prometheus
co.elastic.metrics/hosts: '${data.host}:8080'
co.elastic.metrics/metrics_path: {{ .Values.app.contextRoot }}/actuator/prometheus
co.elastic.metrics/period: 1m
labels:
{{- include "berufesuche.selectorLabels" . | nindent 8 }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "berufesuche.serviceAccountName" .  }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
containerPort: {{ .Values.service.port }}
protocol: TCP
livenessProbe:
httpGet:
path: {{ .Values.app.contextRoot }}/actuator/health
port: http
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 20
readinessProbe:
httpGet:
path: {{ .Values.app.contextRoot }}/actuator/health
port: http
initialDelaySeconds: 30
timeoutSeconds: 10
periodSeconds: 20
env:
- name: SPRING_PROFILES_ACTIVE
value: {{ .Values.berufesuche.profiles.active }}
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: {{ .Values.berufesuche.postgres.userSecret }}
key: {{ .Values.berufesuche.postgres.user }}
- name: POSTGRES_SECRET
valueFrom:
secretKeyRef:
name: {{ .Values.berufesuche.postgres.userSecret }}
key: {{ .Values.berufesuche.postgres.secret }}
- name: POSTGRES_URL
value: {{ .Values.berufesuche.postgres.url }}
- name: FLYWAY_USER
valueFrom:
secretKeyRef:
name: {{ .Values.berufesuche.postgres.userSecret }}
key: {{ .Values.berufesuche.flyway.user }}
- name: FLYWAY_SECRET
valueFrom:
secretKeyRef:
name: {{ .Values.berufesuche.postgres.userSecret }}
key: {{ .Values.berufesuche.flyway.secret }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
# SQL Proxy als Sidecar
{{ if .Values.berufesuche.postgres.useSqlProxy }}
- name: cloud-sql-proxy
image: gcr.io/cloudsql-docker/gce-proxy:1.32.0
command:
- '/cloud_sql_proxy'
- '-instances=$(DB_INSTANCE)=tcp:5432'
securityContext:
runAsNonRoot: true
resources:
requests:
memory: '64m'
cpu: '0.1'
env:
# Aus den K8s-Configmaps in den jeweiligen Umgebungen
- name: DB_INSTANCE
valueFrom:
configMapKeyRef:
name: {{ .Values.berufesuche.postgres.sqlProxyConfigMapName }}
key: uri
{{ end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
Заранее спасибо!
Может быть кто-нибудь сможет мне помочь :)

Подробнее здесь: https://stackoverflow.com/questions/793 ... texception
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проблемы разрешения Pod Pod Pod Pod DNS
    Anonymous » » в форуме Linux
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Почему POD выдает исключение InvoctionTargetException
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Почему POD выдает исключение InvoctionTargetException
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • ImageIO.getImageReadersByFormatName("jpg"); выдает исключение InvoctionTargetException
    Anonymous » » в форуме JAVA
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Pod install -bash: pod: команда не найдена
    Anonymous » » в форуме IOS
    0 Ответы
    72 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»