KaotoIO / kaoto-backend

Backend for the Kaoto project to provide an easy to use integration framework based on Apache Camel.
Apache License 2.0
75 stars 32 forks source link

Problems that do not work after basic installation #473

Open chomman opened 1 year ago

chomman commented 1 year ago

Describe the Bug

While researching to create an integrated scheduler system, I came across kaoto and found it interesting and downloaded it. I tried running the standalone version with docker and runnable jar file by following the instructions on the quick-start page. But the following error occurs in both methods.

2023-02-16 13:36:49,411 WARN  [io.kao.bac.api.ser.dep.gen.cam.IntegrationDeploymentGeneratorService] (executor-thread-0) Error extracting the list of integrations.: io.fabric8.kubernetes.client.KubernetesClientException: Operation: [list]  for kind: [Integration]  with name: [null]  in namespace: [default]  failed.
    at io.fabric8.kubernetes.client.KubernetesClientException.launderThrowable(KubernetesClientException.java:159)
    at io.fabric8.kubernetes.client.dsl.internal.BaseOperation.list(BaseOperation.java:406)
    at io.fabric8.kubernetes.client.dsl.internal.BaseOperation.list(BaseOperation.java:378)
    at io.fabric8.kubernetes.client.dsl.internal.BaseOperation.list(BaseOperation.java:88)
    at io.kaoto.backend.api.service.deployment.generator.camelroute.IntegrationDeploymentGeneratorService.getResources(IntegrationDeploymentGeneratorService.java:141)
    at io.kaoto.backend.api.service.deployment.generator.camelroute.IntegrationDeploymentGeneratorService_ClientProxy.getResources(Unknown Source)
    at io.kaoto.backend.deployment.ClusterService.getResources(ClusterService.java:84)
    at io.kaoto.backend.deployment.ClusterService_Subclass.getResources$$superforward1(Unknown Source)
    at io.kaoto.backend.deployment.ClusterService_Subclass$$function$$4.apply(Unknown Source)
    at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
    at io.quarkus.opentelemetry.runtime.tracing.cdi.WithSpanInterceptor.span(WithSpanInterceptor.java:66)
    at io.quarkus.opentelemetry.runtime.tracing.cdi.WithSpanInterceptor_Bean.intercept(Unknown Source)
    at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
    at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
    at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:33)
    at io.kaoto.backend.deployment.ClusterService_Subclass.getResources(Unknown Source)
    at io.kaoto.backend.deployment.ClusterService_ClientProxy.getResources(Unknown Source)
    at io.kaoto.backend.api.resource.v1.DeploymentsResource.all(DeploymentsResource.java:78)
    at io.kaoto.backend.api.resource.v1.DeploymentsResource_ClientProxy.all(Unknown Source)
    at io.kaoto.backend.api.resource.v1.DeploymentsResource$quarkusrestinvoker$all_959107f55133d015f612226268afc9e9edf04dc3.invoke(Unknown Source)
    at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
    at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:114)
    at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:145)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:576)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.io.IOException: kubernetes.default.svc
    at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.waitForResult(OperationSupport.java:514)
    at io.fabric8.kubernetes.client.dsl.internal.BaseOperation.list(BaseOperation.java:404)
    ... 28 more
Caused by: java.net.UnknownHostException: kubernetes.default.svc
    at java.base/java.net.InetAddress$CachedAddresses.get(InetAddress.java:801)
    at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1524)
    at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1381)
    at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1305)
    at okhttp3.Dns.lambda$static$0(Dns.java:39)
    at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:171)
    at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.java:135)
    at okhttp3.internal.connection.RouteSelector.next(RouteSelector.java:84)
    at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.java:187)
    at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.java:108)
    at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.java:88)
    at okhttp3.internal.connection.Transmitter.newExchange(Transmitter.java:169)
    at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:41)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
    at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:94)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
    at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
    at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:88)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
    at io.fabric8.kubernetes.client.okhttp.OkHttpClientBuilderImpl$InteceptorAdapter.intercept(OkHttpClientBuilderImpl.java:70)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
    at io.fabric8.kubernetes.client.okhttp.OkHttpClientBuilderImpl$InteceptorAdapter.intercept(OkHttpClientBuilderImpl.java:70)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
    at io.fabric8.kubernetes.client.okhttp.OkHttpClientBuilderImpl$InteceptorAdapter.intercept(OkHttpClientBuilderImpl.java:70)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
    at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:229)
    at okhttp3.RealCall$AsyncCall.execute(RealCall.java:172)
    at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    ... 1 more

Steps to Reproduce the Bug or Issue

  1. command in terminal: docker run --rm -p 8081:8081 --name kaoto kaotoio/standalone:latest
  2. Click "deploy" button after add time-sync and log-sync In web site.
  3. Error occurs.

Screenshots or Videos

스크린샷 2023-02-16 오후 1 45 34

Platform

Delawen commented 1 year ago

Thank you for reporting this!

Kaoto is trying to connect to a cluster using the same configuration that kubernetes commands like kubectl do. But it seems that the cluster in kubernetes.default.svc is not available. Could that be the case?

The error trace looks big and scary because we wanted to make sure to catch the potential errors when connecting to the cluster. But anyway this should show a more comprehensible error on the frontend.

chomman commented 1 year ago

At least if it is a standalone product, it seems that it should run regardless of Kubernetes. me too...

lhein commented 1 year ago

Thanks for the feedback. We will improve that in future. Meanwhile you could also try out https://red.ht/kaoto

Delawen commented 1 year ago

It runs regardless of Kubernetes. But we are not detecting if there is a Kubernetes connection that no longer works or does not have camel K installed. Noted.

Delawen commented 1 year ago

Moving to the backend, as it is the one who checks the connections.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.