TomDelonge Geschrieben 7. Juni 2023 Geschrieben 7. Juni 2023 (bearbeitet) Hallo, ich suche jemanden der sich mit helm und kubernetes auskennt. Mein Problem ist aktuell dieser Fehler: Error: INSTALLATION FAILED: repo tarb not found tarb ist der Name meines Projektes. Ich habe einen helm chart mit einer bitnami mysql und versuche meine microservice endpunkte von windows postman über minikube in meinem cluster zu erreichen. Ich habe jetzt schon ein docker image auf docker hub hochgeladen von meinem tarb projekt. Jetzt müsste ich in meiner values.yaml bei image: irgendwas eintragen, aber ich weiß nicht was genau. Vorher stand bei image: repository: nginx und das habe ich jetzt hier durch ersetzt: image: registry: docker.io repository: tomdelonge/tarb pullPolicy: IfNotPresent tag: latest Weiß aber nicht ob das richtig ist. Kenne mir nur sehr wenig mit helm und kubernetes aus. Wenn ich jetzt helm install mache, dann kommt dieser Fehler. Bearbeitet 7. Juni 2023 von TomDelonge Was vergessen Zitieren
Gast dardan Geschrieben 7. Juni 2023 Geschrieben 7. Juni 2023 (bearbeitet) Also image ist der image-Tag Deines Docker-Images. Beispielhaft für https://hub.docker.com/_/postgres (siehe https://hub.docker.com/_/postgres/tags) wäre postgres:latest ein Tag, sprich image: postgres:latest. Auf die explizite Angabe von Repository, Tag & Registry kannst Du verzichten, da standardmäßig die Docker Registry verwendet wird. Bearbeitet 7. Juni 2023 von dardan Zitieren
TomDelonge Geschrieben 7. Juni 2023 Autor Geschrieben 7. Juni 2023 (bearbeitet) Ok, danke für die Antwort, aber ich bin immer noch lost wie ich jetzt mein Problem löse? Wenn ich dich richtig verstanden habe sieht es jetzt so aus: image: Weil du scheibst, dass ich auf die Angabe von Repository, Tag & Registry verzichten kann. Das heißt da steht gar nichts mehr. Meinem bisherigem Wissenstand nach schreibt man hinter image: nichts mehr hin. Das dient nur als quasi Pfadangabe oder Kategorie wo weitere tags folgen. Ist das korrekt? Das heißt irgendein tag muss ich ja hinzufügen wo ich dann mein image angeben kann? Wie sieht das tag dafür aus und in welcher Form muss ich das image angeben? Einfach nur tarb oder tomdelonge/tarb, weil mein account auf dockerhub so heißt oder wie genau muss das aussehen? Wie sage ich denn jetzt meinem helm chart wo er das image meiner tarb app herbekommt? Vielleicht hilft meine komplette values.yaml weiter um Licht ins dunkle zu bringen? # Default values for tarb. # This is a YAML-formatted file. # Declare variables to be passed into your templates. replicaCount: 2 mysql: enabled: true secondary: replicaCount: 2 auth: username: ---- password: ------ rootPassword: ------ # url: mysql.svc.dev.cluster.local url: r2dbc:mysql://mysql.svc.dev.cluster.local:3306/app_database image: repository: tomdelonge/tarb pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: latest imagePullSecrets: [] nameOverride: "" fullnameOverride: "" serviceAccount: # Specifies whether a service account should be created create: true # Annotations to add to the service account annotations: {} # The name of the service account to use. # If not set and create is true, a name is generated using the fullname template name: "" podAnnotations: {} podSecurityContext: {} # fsGroup: 2000 securityContext: {} # capabilities: # drop: # - ALL # readOnlyRootFilesystem: true # runAsNonRoot: true # runAsUser: 1000 service: type: ClusterIP port: 80 ingress: enabled: false className: "" annotations: {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" hosts: - host: chart-example.local paths: - path: / pathType: ImplementationSpecific tls: [] # - secretName: chart-example-tls # hosts: # - chart-example.local resources: {} # We usually recommend not to specify default resources and to leave this as a conscious # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. # limits: # cpu: 100m # memory: 128Mi # requests: # cpu: 100m # memory: 128Mi autoscaling: enabled: false minReplicas: 1 maxReplicas: 100 targetCPUUtilizationPercentage: 80 # targetMemoryUtilizationPercentage: 80 nodeSelector: {} tolerations: [] affinity: {} Bearbeitet 7. Juni 2023 von TomDelonge Zitieren
TomDelonge Geschrieben 7. Juni 2023 Autor Geschrieben 7. Juni 2023 (bearbeitet) Ok, helm install funktioniert jetzt wieder. Ich habe einfach nur die registry Zeile gelöscht und dann folgendes gemacht: 1. minikube delete 2. minikube start 3. helm dependency build 4. kubectl create namespace <app_name> 5. helm install helm-chart-tarb <app_project_folder>/<app_helm_folder>--namespace <app_namespace> 6. kubectl config set-context --current --namespace=<app_namespace> 7. minikube addons enable ingress 8. minikube tunnel Wörter in <> entsprechend ersetzen mit den Namen der Ordner und Projektnamen etc. Jetzt startet zu mindestens der chart wieder, aber meine app pods gehen nicht: NAME READY STATUS RESTARTS AGE helm-chart-tarb-mysql-0 1/1 Running 0 17m helm-chart-tarb-tarb-app-74967bbc7c-5c7pf 0/1 CrashLoopBackOff 7 (4m49s ago) 17m helm-chart-tarb-tarb-app-74967bbc7c-5xdmc 0/1 CrashLoopBackOff 7 (4m39s ago) 17m Irgendeine Idee woran das liegen kann? Bearbeitet 7. Juni 2023 von TomDelonge Zitieren
Griller Geschrieben 8. Juni 2023 Geschrieben 8. Juni 2023 (bearbeitet) Der Fehler im ersten Beitrag deutet eher darauf hin, dass der command für dein 'helm install' falsch war. Wenn du das Chart nur lokal vorliegen hast, musst du das Chart directory auch direkt referenzieren (so wie du es hinterher gemacht hast). Diese Umwege, minikube neu zu erstellen, etc hättest du dir sparen können. CrashLoopBackOff deutet normalerweise auf ein Abstürzen/Neustarten eines Containers im Pod hin. Das passiert auch, wenn der Container durchläuft und seinen Startprozess beendet. Mit 'kubectl logs' kannst du dir die Logs der verschiedenen Container im Pod ansehen. Ggfs. mit '-p' um die Logs des vorherigen Runs zu sehen. Grundsätzlich würde ich dir raten erstmal auf Helm zu verzichten und die Manifeste selbst zu bauen. Da lernt man mehr und es nimmt gerade am Anfang die Komplexität des Helm-Chart-Templating raus. Bearbeitet 8. Juni 2023 von Listener Zitieren
TomDelonge Geschrieben 12. Juni 2023 Autor Geschrieben 12. Juni 2023 Habe meine Probleme lösen können. Ich habe in meiner deployment.yaml unter spec: template: spec: containers: die livenessProbe: und die readinessProbe: komplett rausgenommen. Jetzt startet alles wie gewünscht. In meiner bitnami mySQL DB helm chart erstelle ich beim "helm dependency build" jetzt meine Datenbank namens app_database In der values.yaml habe ich das wie folgt hinzugefügt: mysql: enabled: true secondary: replicaCount: 2 auth: username: <name des users> password: <passwort des users> rootPassword: <passwort von root> createDatabase: true database: <name der datenbank> url: r2dbc:mysql://mysql.svc.dev.cluster.local:3306/app_database Da ich eine r2db connection herstellen will kommt jetzt bei postman wenn ich eine Abfrage abschicke folgender Fehler: { "timestamp": "2023-06-12T16:00:23.367+00:00", "path": "/tarb/techterms", "status": 500, "error": "Internal Server Error", "requestId": "50302f76-1" } Ist ja prinzipiell schon Mal gut, weil die Anfrage in meiner App beim Endpunkt ankommt. Nur vom Endpunkt geht es jetzt nicht weiter zur Datenbank. Wenn ich mir die logs ausgeben lasse mit: kubectl logs <pod name der app> dann sehe ich folgende Fehlermeldung: 15:57:29 temapi.TechAbbrRefBookApplicationKt - Starting TechAbbrRefBookApplicationKt v0.0.1-SNAPSHOT using Java 17.0.2 with PID 7 (/tarb.jar started by root in /) 15:57:29 temapi.TechAbbrRefBookApplicationKt - No active profile set, falling back to 1 default profile: "default" 15:57:32 r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode 15:57:32 r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data R2DBC repositories in DEFAULT mode. 15:57:32 r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 284 ms. Found 2 R2DBC repository interfaces. 15:57:39 t.web.embedded.netty.NettyWebServer - Netty started on port 8080 15:57:39 temapi.TechAbbrRefBookApplicationKt - Started TechAbbrRefBookApplicationKt in 10.689 seconds (process running for 11.187) 16:00:23 dbc.mysql.client.MessageDuplexCodec - Connection has been closed by peer 16:00:23 .e.AbstractErrorWebExceptionHandler - [50302f76-1] 500 Server Error for HTTP POST "/tarb/techterms" org.springframework.dao.DataAccessResourceFailureException: Failed to obtain R2DBC Connection at org.springframework.r2dbc.connection.ConnectionFactoryUtils.lambda$getConnection$0(ConnectionFactoryUtils.java:90) Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: Error has been observed at the following site(s): *__checkpoint ⇢ Handler itemapi.controller.TechTermController#createTechTerm(TechTerm, Continuation) [DispatcherHandler] *__checkpoint ⇢ org.springframework.web.filter.reactive.ServerWebExchangeContextFilter [DefaultWebFilterChain] *__checkpoint ⇢ HTTP POST "/tarb/techterms" [ExceptionHandlingWebHandler] Original Stack Trace: at org.springframework.r2dbc.connection.ConnectionFactoryUtils.lambda$getConnection$0(ConnectionFactoryUtils.java:90) at reactor.core.publisher.Mono.lambda$onErrorMap$28(Mono.java:3773) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:94) at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106) at reactor.core.publisher.FluxRetry$RetrySubscriber.onError(FluxRetry.java:95) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:180) at reactor.pool.AbstractPool$Borrower.fail(AbstractPool.java:475) at reactor.pool.SimpleDequePool.lambda$drainLoop$9(SimpleDequePool.java:429) at reactor.core.publisher.FluxDoOnEach$DoOnEachSubscriber.onError(FluxDoOnEach.java:186) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:180) at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241) at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:278) at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222) at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222) at reactor.core.publisher.FluxHandle$HandleSubscriber.onError(FluxHandle.java:212) at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onError(FluxConcatArray.java:207) at reactor.core.publisher.EmitterProcessor.checkTerminated(EmitterProcessor.java:594) at reactor.core.publisher.EmitterProcessor.drain(EmitterProcessor.java:461) at reactor.core.publisher.EmitterProcessor.tryEmitError(EmitterProcessor.java:295) at reactor.core.publisher.InternalManySink.emitError(InternalManySink.java:98) at reactor.core.publisher.EmitterProcessor.onError(EmitterProcessor.java:284) at reactor.core.publisher.LambdaMonoSubscriber.doError(LambdaMonoSubscriber.java:155) at reactor.core.publisher.LambdaMonoSubscriber.onError(LambdaMonoSubscriber.java:150) at reactor.core.publisher.MonoTakeLastOne$TakeLastOneSubscriber.onError(MonoTakeLastOne.java:134) at reactor.core.publisher.FluxHandle$HandleSubscriber.onError(FluxHandle.java:212) at reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:117) at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onNext(MonoFlatMapMany.java:250) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:128) at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onNext(FluxConcatArray.java:201) at reactor.core.publisher.EmitterProcessor.drain(EmitterProcessor.java:537) at reactor.core.publisher.EmitterProcessor.tryEmitNext(EmitterProcessor.java:343) at reactor.core.publisher.InternalManySink.emitNext(InternalManySink.java:27) at reactor.core.publisher.EmitterProcessor.onNext(EmitterProcessor.java:309) at reactor.core.publisher.LambdaSubscriber.onNext(LambdaSubscriber.java:160) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:128) at reactor.netty.channel.FluxReceive.onInboundNext(FluxReceive.java:377) at reactor.netty.channel.ChannelOperations.onInboundNext(ChannelOperations.java:411) at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:113) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at dev.miku.r2dbc.mysql.client.MessageDuplexCodec.channelRead(MessageDuplexCodec.java:96) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1383) at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1246) at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1295) at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:529) at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:468) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:499) at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:397) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: io.r2dbc.spi.R2dbcPermissionDeniedException: Authentication type 'þsha256_password' not supported at dev.miku.r2dbc.mysql.authentication.MySqlAuthProvider.build(MySqlAuthProvider.java:53) at dev.miku.r2dbc.mysql.LoginFlow.changeAuth(LoginFlow.java:119) at dev.miku.r2dbc.mysql.LoginFlow.access$900(LoginFlow.java:55) at dev.miku.r2dbc.mysql.LoginFlow$State$3.lambda$handle$2(LoginFlow.java:326) at reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:112) at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onNext(MonoFlatMapMany.java:250) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:128) at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onNext(FluxConcatArray.java:201) at reactor.core.publisher.EmitterProcessor.drain(EmitterProcessor.java:537) at reactor.core.publisher.EmitterProcessor.tryEmitNext(EmitterProcessor.java:343) at reactor.core.publisher.InternalManySink.emitNext(InternalManySink.java:27) at reactor.core.publisher.EmitterProcessor.onNext(EmitterProcessor.java:309) at reactor.core.publisher.LambdaSubscriber.onNext(LambdaSubscriber.java:160) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200) at reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:128) at reactor.netty.channel.FluxReceive.onInboundNext(FluxReceive.java:377) at reactor.netty.channel.ChannelOperations.onInboundNext(ChannelOperations.java:411) at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:113) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at dev.miku.r2dbc.mysql.client.MessageDuplexCodec.channelRead(MessageDuplexCodec.java:96) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1383) at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1246) at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1295) at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:529) at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:468) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) 16:00:23 dbc.mysql.client.MessageDuplexCodec - Connection has been closed by peer 16:00:23 dbc.mysql.client.MessageDuplexCodec - Connection has been closed by peer 16:00:23 dbc.mysql.client.MessageDuplexCodec - Connection has been closed by peer 16:00:23 dbc.mysql.client.MessageDuplexCodec - Connection has been closed by peer 16:00:23 dbc.mysql.client.MessageDuplexCodec - Connection has been closed by peer 16:00:23 dbc.mysql.client.MessageDuplexCodec - Connection has been closed by peer 16:00:23 dbc.mysql.client.MessageDuplexCodec - Connection has been closed by peer Kann da jemand was mit anfangen? Zitieren
Griller Geschrieben 13. Juni 2023 Geschrieben 13. Juni 2023 Ich bin kein Entwickler und kann daher zu deinem App-Problem nichts sagen (außerdem ist die Formatierung für das Forum ein Graus und ich habe ehrlich gesagt keine Lust das so durchzulesen). Bzgl. der Liveness und Readiness Probe würde ich dir empfehlen die nicht einfach nur aus dem Manifest rauszukegeln. Die haben eine wichtige Daseinsberechtigung und enablen dich im Endeffekt wirklich hochverfügbare/Self-Healing-Systeme aufzusetzen. Viele Frameworks haben auch die Funktionen bereits implementiert und du solltest das in deiner Applikation auch respektieren. Zitieren
pr0gg3r Geschrieben 13. Juni 2023 Geschrieben 13. Juni 2023 (bearbeitet) vor 13 Stunden schrieb TomDelonge: Kann da jemand was mit anfangen? Steht doch da: vor 13 Stunden schrieb TomDelonge: org.springframework.dao.DataAccessResourceFailureException: Failed to obtain R2DBC Connection ... Caused by: io.r2dbc.spi.R2dbcPermissionDeniedException: Authentication type 'þsha256_password' not supported Bearbeitet 13. Juni 2023 von pr0gg3r Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.