fabric8io / kubeflix Goto Github PK
View Code? Open in Web Editor NEWKubernetes integration with Netflix OSS
Kubernetes integration with Netflix OSS
Not sure what version of the Jetty 9 base image fabric8/hystrix-dashboard:1.0.26
is using, but I hit permissions issues on OpenShift. Seems ok if I build & deploy using fabric8/jetty-9:1.1.10
as the base image.
Pod logs:
Checking *.war in /maven
Linking /maven/ROOT.war --> /opt/jetty/webapps/ROOT.war
ln: failed to create symbolic link '/opt/jetty/webapps/ROOT.war': Permission denied
Running Jetty:
I> No access restrictor found, access to all MBean is allowed
Jolokia: Agent started with URL http://172.17.0.3:8778/jolokia/
2016-10-31 19:14:07.856:INFO:ifasjoejs.Server:jetty-8.y.z-SNAPSHOT
2016-10-31 19:14:07.893:INFO:ifasjoejs.AbstractConnector:Started [email protected]:9779
2016-10-31 19:14:08.162:INFO::main: Logging initialized @503ms
2016-10-31 19:14:08.218:WARN:oejs.HomeBaseWarning:main: This instance of Jetty is not running from a separate {jetty.base} directory, this is not recommended. See documentation at http://www.eclipse.org/jetty/documentation/current/startup.html
2016-10-31 19:14:08.371:WARN:oejuc.FileNoticeLifeCycleListener:main:
java.io.FileNotFoundException: /opt/jetty/jetty.state (Permission denied)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at java.io.FileOutputStream.<init>(FileOutputStream.java:133)
at java.io.FileWriter.<init>(FileWriter.java:78)
at org.eclipse.jetty.util.component.FileNoticeLifeCycleListener.writeState(FileNoticeLifeCycleListener.java:45)
at org.eclipse.jetty.util.component.FileNoticeLifeCycleListener.lifeCycleStarting(FileNoticeLifeCycleListener.java:57)
at org.eclipse.jetty.util.component.AbstractLifeCycle.setStarting(AbstractLifeCycle.java:188)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:67)
at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1510)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1435)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.jetty.start.Main.invokeMain(Main.java:214)
at org.eclipse.jetty.start.Main.start(Main.java:457)
at org.eclipse.jetty.start.Main.main(Main.java:75)
maven can't find the needed snapshot, which repo should I use? can someone share the url?
[ERROR] Failed to execute goal on project turbine-server: Could not resolve dependencies for project io.fabric8.kubeflix:turbine-server:war:1.0.12-SNAPSHOT: Failure to find io.fabric8.kubeflix:turbine-discovery:jar:1.0.12-SNAPSHOT in https://oss.sonatype.org/content/repositories/snapshots was cached in the local repository, resolution will not be reattempted until the update interval of sonatype-nexus-snapshots has elapsed or updates are forced -> [Help 1]
Folks might want to use Zuul to implement load balancing across multiple services using %age weightings etc. So it might be nice to support a Zuul plugin to do endpoint discovery for services Zuul talks to.
Ideally ingress in kubernetes will hopefully be a more natively supported option; but having Zuul support in kubeflix will let folks familiar with Zuul feel right at home
it'd be great to create a quickstart for folks wanting to write a microservice based on spring boot + RestTemplate + hystrix so we can do demos showing how to get started with kurbine and then run turbine etc
Adding a quickstart to this github organisation should do the trick:
https://github.com/fabric8-quickstarts
When I deployed Kubeflix 1.0.16 that uses openzipkin/zipkin-query:1.39.3 image I just see the following messages when I open the hystrix-dashboard:
In the Turbine Pod log I see a lot of exceptions:
016-05-10 15:41:33.481 ERROR [turbine-server,,,] 1 --- [InstanceMonitor] c.n.t.monitor.instance.InstanceMonitor : Could not initiate connection to host, giving up: [Cannot GET /hystrix.stream]
480 2016-05-10 15:41:33.482 WARN [turbine-server,,,] 1 --- [InstanceMonitor] c.n.t.monitor.instance.InstanceMonitor : Stopping InstanceMonitor for: 172.17.0.5 helloworld-msa
481
482 com.netflix.turbine.monitor.instance.InstanceMonitor$MisconfiguredHostException: [Cannot GET /hystrix.stream]
483 at com.netflix.turbine.monitor.instance.InstanceMonitor.init(InstanceMonitor.java:318) ~[turbine-core-1.0.0.jar!/:na]
484 at com.netflix.turbine.monitor.instance.InstanceMonitor.access$100(InstanceMonitor.java:103) ~[turbine-core-1.0.0.jar!/:na]
485 at com.netflix.turbine.monitor.instance.InstanceMonitor$2.call(InstanceMonitor.java:235) [turbine-core-1.0.0.jar!/:na]
486 at com.netflix.turbine.monitor.instance.InstanceMonitor$2.call(InstanceMonitor.java:229) [turbine-core-1.0.0.jar!/:na]
487 at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_51]
488 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_51]
489 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_51]
490 at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]
has anyone been able to get the turbine discovery working out side the fabric8 sandbox?
Hi,
I have a use case where we would like to deploy a hystrix console + turbine inside an OpenShift cluster to monitor hystrix sources that reside outside the cluster.
Is it possible to specify which turbine discovery policy to use?
Thanks
Raffaele
Hi, currently it is assumed that the pods that are hystrix stream sources will have the hystrix.enabled
label.
This may impose unnecessary constraints on the source pods. There could also be situations where multiple turbine serves need to be run in the same kubernetes cluster and there would be no way to specify which pods each turbine server should connect to.
I'd like to propose the following improvements:
hystrix.enabled
if no selector is specified. A selector can match on multiple labels.I should be able to provide 1 and 2 based on my previous project.
3 is not urgent for me and my current endeavor but I think it would be useful in the long term
4 goes together with 3 but I'm afraid there is no easy way to do it unless upgrading to turbine 2.x, which wasn't very mature last time I looked at it.
Just tried to build this following the readme
INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Kubeflix :: Examples :: LoanBroker :: Broker 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for io.fabric8.kubeflix:ribbon-discovery:jar:1.0-SNAPSHOT is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Kubeflix :: Examples :: Loan Broker ................ SUCCESS [ 1.243 s]
[INFO] Kubeflix :: Examples :: LoanBroker :: Credit Bureau SUCCESS [ 25.254 s]
[INFO] Kubeflix :: Examples :: LoanBroker :: Bank ......... SUCCESS [ 13.897 s]
[INFO] Kubeflix :: Examples :: LoanBroker :: Broker ....... FAILURE [ 0.033 s]
[INFO] Kubeflix :: Examples :: LoanBroker :: Genearator ... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 44.511 s
[INFO] Finished at: 2016-10-24T17:04:50+01:00
[INFO] Final Memory: 71M/1104M
[ERROR] Failed to execute goal on project loanbroker-broker: Could not resolve dependencies for project io.fabric8.kubeflix.examples:loanbroker-broker:jar:1.0-SNAPSHOT: Failure to find io.fabric8.kubeflix:ribbon-discovery:jar:1.0-SNAPSHOT in https://repo.spring.io/libs-release was cached in the local repository, resolution will not be reattempted until the update interval of spring-releases has elapsed or updates are forced -> [Help 1]
I've tried to make the ?cluster=blah
work, but it won't. I'm pretty sure I'm missing something, but I'm not really sure what.
So far, I'm creating everything with this yaml:
---
apiVersion: "v1"
kind: "ServiceAccount"
metadata:
name: "turbine"
---
apiVersion: "extensions/v1beta1"
kind: "Deployment"
metadata:
labels:
project: "turbine-server"
provider: "fabric8"
version: "1.0.28"
group: "io.fabric8.kubeflix"
name: "turbine-server"
spec:
replicas: 1
selector:
matchLabels:
project: "turbine-server"
provider: "fabric8"
group: "io.fabric8.kubeflix"
template:
metadata:
labels:
project: "turbine-server"
provider: "fabric8"
version: "1.0.28"
group: "io.fabric8.kubeflix"
spec:
containers:
- env:
- name: "KUBERNETES_NAMESPACE"
valueFrom:
fieldRef:
fieldPath: "metadata.namespace"
image: "fabric8/turbine-server:1.0.28"
name: "turbine-server"
ports:
- containerPort: 8080
name: "http"
- containerPort: 8778
name: "jolokia"
serviceAccountName: "turbine"
---
apiVersion: "v1"
kind: "Service"
metadata:
annotations:
servicepath: "/turbine.stream"
labels:
project: "turbine-server"
provider: "fabric8"
version: "1.0.28"
group: "io.fabric8.kubeflix"
name: "turbine-server"
spec:
ports:
- port: 80
protocol: "TCP"
targetPort: 8080
selector:
project: "turbine-server"
provider: "fabric8"
group: "io.fabric8.kubeflix"
type: "LoadBalancer"
I also enabled some services by annotating them:
apiVersion: v1
kind: Service
metadata:
labels:
hystrix.enabled: "true"
hystrix.cluster: "svc1"
I'm not sure where I should put them, though. Should it be in the service or in the deployment?
Anyways, by doing this, I can access the turbine-server
ELB addr + /turbine.stream
, but, if a append a ?cluster=svc1
in the URL, I get a 404.
Seems like I'm missing some turbine configs, but I'm not sure how to do it and there is no example in the docs...
Thanks!
Can we have a configuration to change the environment to openshift for turbine?
I'm wrapping my head around how to get this tool into our configuration management. What I'm looking for:
a. Have a defined and fixed version of all libraries deployed (no snapshots).
b. Use defined and fixed version of all maven plugins (or skip them all together and use dockerfiles directly if possible)
b. Skip all examples. Only deploy turbine, appropriate discovery modules and hystrix dashboard.
c. Use internal docker repo.
d. Rely on published builds through maven central (no local build/test).
Any thoughts?
so we get to reuse the readiness probe results
I was getting the following error when trying to build the broker application under the loan broker example:
[ERROR] Failed to execute goal on project loanbroker-broker: Could not resolve dependencies for project io.fabric8.kubeflix.examples:loanbroker-broker:jar:1.0-SNAPSHOT: Failure to find io.fabric8.kubeflix:ribbon-discovery:jar:1.0-SNAPSHOT in https://repo.spring.io/libs-release was cached in the local repository, resolution will not be reattempted until the update interval of spring-releases has elapsed or updates are forced -> [Help 1]
I changed the pom to include the current version for the ribbon-discovery dependency which allowed the build to go through.
<dependency>
<groupId>io.fabric8.kubeflix</groupId>
<artifactId>ribbon-discovery</artifactId>
<version>1.0.26</version>
</dependency>
so that it is properly shown in the fabric8 console.
See fabric8io/fabric8#5920 for details.
I am trying to run the loanbroker sample but the services are failing to start. An example from the credit bureau is below. Please help been trying to stand this up as an example on using kubeflix over the naive Spring cloud approach but cannot get past this one.
Thanks,
Andrew
[INFO] F8:[NEW] loanbroker-credit-bureau-945504598-xd7wj status: Running
[INFO] F8:[NEW] Tailing log of pod: loanbroker-credit-bureau-945504598-xd7wj
[INFO] F8:[NEW] Press Ctrl-C to scale down the app and stop tailing the log
[INFO] F8:[NEW]
[INFO] F8: 16:14:56.414 [main] DEBUG io.fabric8.kubernetes.client.Config - Trying to configure client from Kubernetes config...
[INFO] F8: 16:14:56.448 [main] DEBUG io.fabric8.kubernetes.client.Config - Did not find Kubernetes config at: [/root/.kube/config]. Ignoring.
[INFO] F8: 16:14:56.449 [main] DEBUG io.fabric8.kubernetes.client.Config - Trying to configure client from service account...
[INFO] F8: 16:14:56.449 [main] DEBUG io.fabric8.kubernetes.client.Config - Found service account ca cert at: [/var/run/secrets/kubernetes.io/serviceaccount/ca.crt].
[INFO] F8: 16:14:56.466 [main] DEBUG io.fabric8.kubernetes.client.Config - Found service account token at: [/var/run/secrets/kubernetes.io/serviceaccount/token].
[INFO] F8: 16:14:56.466 [main] DEBUG io.fabric8.kubernetes.client.Config - Trying to configure client namespace from Kubernetes service account namespace path...
[INFO] F8: 16:14:56.467 [main] DEBUG io.fabric8.kubernetes.client.Config - Found service account namespace at: [/var/run/secrets/kubernetes.io/serviceaccount/namespace].
[INFO] F8: 2016-12-23 16:14:59.116 WARN [bootstrap,,,] 1 --- [ main] i.f.s.cloud.kubernetes.StandardPodUtils : Failed to get pod with name:[loanbroker-credit-bureau-945504598-xd7wj]. You should look into this if things aren't working as you expect. Are you missing serviceaccount permissions?
[INFO] F8:
[INFO] F8: io.fabric8.kubernetes.client.KubernetesClientException: An error has occurred.
[INFO] F8: at io.fabric8.kubernetes.client.KubernetesClientException.launderThrowable(KubernetesClientException.java:57) ~[kubernetes-client-1.4.14.jar!/:na]
[INFO] F8: at io.fabric8.kubernetes.client.dsl.base.BaseOperation.get(BaseOperation.java:172) ~[kubernetes-client-1.4.14.jar!/:na]
[INFO] F8: at io.fabric8.spring.cloud.kubernetes.StandardPodUtils.internalGetPod(StandardPodUtils.java:56) [spring-cloud-kubernetes-core-0.1.3.jar!/:na]
[INFO] F8: at io.fabric8.spring.cloud.kubernetes.StandardPodUtils.lambda$new$0(StandardPodUtils.java:40) [spring-cloud-kubernetes-core-0.1.3.jar!/:na]
[INFO] F8: at io.fabric8.spring.cloud.kubernetes.StandardPodUtils$$Lambda$1/186276003.get(Unknown Source) [spring-cloud-kubernetes-core-0.1.3.jar!/:na]
[INFO] F8: at io.fabric8.spring.cloud.kubernetes.LazilyInstantiate.swapper(LazilyInstantiate.java:41) [spring-cloud-kubernetes-core-0.1.3.jar!/:na]
[INFO] F8: at io.fabric8.spring.cloud.kubernetes.LazilyInstantiate.lambda$new$0(LazilyInstantiate.java:34) [spring-cloud-kubernetes-core-0.1.3.jar!/:na]
[INFO] F8: at io.fabric8.spring.cloud.kubernetes.LazilyInstantiate$$Lambda$2/1685538367.get(Unknown Source) [spring-cloud-kubernetes-core-0.1.3.jar!/:na]
[INFO] F8: at io.fabric8.spring.cloud.kubernetes.LazilyInstantiate.get(LazilyInstantiate.java:29) [spring-cloud-kubernetes-core-0.1.3.jar!/:na]
[INFO] F8: at io.fabric8.spring.cloud.kubernetes.profile.KubernetesProfileApplicationListener.addKubernetesProfile(KubernetesProfileApplicationListener.java:49) [spring-cloud-kubernetes-core-0.1.3.jar!/:na]
[INFO] F8: at io.fabric8.spring.cloud.kubernetes.profile.KubernetesApplicationContextInitializer.initialize(KubernetesApplicationContextInitializer.java:53) [spring-cloud-kubernetes-core-0.1.3.jar!/:na]
[INFO] F8: at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:635) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE]
[INFO] F8: at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:349) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE]
[INFO] F8: at org.springframework.boot.SpringApplication.run(SpringApplication.java:313) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE]
[INFO] F8: at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE]
[INFO] F8: at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:140) [spring-cloud-context-1.1.1.RELEASE.jar!/:1.1.1.RELEASE]
[INFO] F8: at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:84) [spring-cloud-context-1.1.1.RELEASE.jar!/:1.1.1.RELEASE]
[INFO] F8: at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:62) [spring-cloud-context-1.1.1.RELEASE.jar!/:1.1.1.RELEASE]
[INFO] F8: at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166) [spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
[INFO] F8: at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138) [spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
[INFO] F8: at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:121) [spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
[INFO] F8: at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:68) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE]
[INFO] F8: at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE]
[INFO] F8: at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:337) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE]
[INFO] F8: at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE]
[INFO] F8: at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE]
[INFO] F8: at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE]
[INFO] F8: at io.fabric8.kubeflix.examples.loanbroker.creditbureau.Application.main(Application.java:30) [classes!/:na]
[INFO] F8: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_40-internal]
[INFO] F8: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_40-internal]
[INFO] F8: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_40-internal]
[INFO] F8: at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_40-internal]
[INFO] F8: at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [loanbroker-credit-bureau-1.0-SNAPSHOT.jar:na]
[INFO] F8: at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [loanbroker-credit-bureau-1.0-SNAPSHOT.jar:na]
[INFO] F8: at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [loanbroker-credit-bureau-1.0-SNAPSHOT.jar:na]
[INFO] F8: at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:58) [loanbroker-credit-bureau-1.0-SNAPSHOT.jar:na]
[INFO] F8: Caused by: java.net.UnknownHostException: kubernetes.default.svc: unknown error
[INFO] F8: at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) ~[na:1.8.0_40-internal]
[INFO] F8: at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) ~[na:1.8.0_40-internal]
[INFO] F8: at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) ~[na:1.8.0_40-internal]
[INFO] F8: at java.net.InetAddress.getAllByName0(InetAddress.java:1255) ~[na:1.8.0_40-internal]
[INFO] F8: at java.net.InetAddress.getAllByName(InetAddress.java:1171) ~[na:1.8.0_40-internal]
[INFO] F8: at java.net.InetAddress.getAllByName(InetAddress.java:1105) ~[na:1.8.0_40-internal]
[INFO] F8: at okhttp3.Dns$1.lookup(Dns.java:39) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:172) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.java:138) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.connection.RouteSelector.next(RouteSelector.java:80) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:178) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:129) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:98) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:109) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:124) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at io.fabric8.kubernetes.client.utils.HttpClientUtils$3.intercept(HttpClientUtils.java:102) ~[kubernetes-client-1.4.14.jar!/:na]
[INFO] F8: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:170) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at okhttp3.RealCall.execute(RealCall.java:60) ~[okhttp-3.4.1.jar!/:na]
[INFO] F8: at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:234) ~[kubernetes-client-1.4.14.jar!/:na]
[INFO] F8: at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:229) ~[kubernetes-client-1.4.14.jar!/:na]
[INFO] F8: at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleGet(OperationSupport.java:225) ~[kubernetes-client-1.4.14.jar!/:na]
[INFO] F8: at io.fabric8.kubernetes.client.dsl.base.BaseOperation.handleGet(BaseOperation.java:590) ~[kubernetes-client-1.4.14.jar!/:na]
[INFO] F8: at io.fabric8.kubernetes.client.dsl.base.BaseOperation.get(BaseOperation.java:165) ~[kubernetes-client-1.4.14.jar!/:na]
[INFO] F8: ... 34 common frames omitted
[INFO] F8:
[INFO] F8: 2016-12-23 16:14:59.409 INFO [bootstrap,,,] 1 --- [ main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@2f410acf: startup date [Fri Dec 23 16:14:59 UTC 2016]; root of context hierarchy
[INFO] F8: 2016-12-23 16:15:00.503 INFO [bootstrap,,,] 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'configurationPropertiesRebinderAutoConfiguration' of type [class org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$4813c385] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
Hello all,
I am try to run this sample but I got those error when access the ribbon service in kubernetes:
kubectl get services:
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-hystrix 10.0.0.162 80:32210/TCP 6m
hello-ribbon 10.0.0.26 80:32199/TCP 6m
kubernetes 10.0.0.1 443/TCP 7m
Url: http://192.168.99.100:32199/hello
if I try access br hello-kystrix services its works fine.
I tryed google about those error, but I got no response.
Someone has any idea about what those error??
Thanks,
HTTP ERROR 503
Problem accessing /hello. Reason:
Service Unavailable
Caused by:
org.eclipse.jetty.servlet.ServletHolder$1: java.lang.RuntimeException: java.lang.RuntimeException: Exception while initializing NIWSDiscoveryLoadBalancer:hello-hystrix, niwsClientConfig:ClientConfig:ConnIdleEvictTimeMilliSeconds:30000, ProxyHost:null, VipAddress:null, PrimeConnectionsClassName:com.netflix.niws.client.http.HttpPrimeConnection, TrustStorePassword:null, IsClientAuthRequired:false, ClientClassName:com.netflix.niws.client.http.RestClient, EnableConnectionPool:true, EnableGZIPContentEncodingFilter:false, EnableZoneAffinity:false, SendBufferSize:null, KeyStore:null, ConnectionManagerTimeout:2000, RequestIdHeaderName:null, UseIPAddrForServer:false, MaxTotalHttpConnections:200, PoolMaxThreads:200, AppName:null, MaxAutoRetries:0, PoolKeepAliveTimeUnits:SECONDS, IsHostnameValidationRequired:null, NIWSServerListClassName:io.fabric8.kubeflix.ribbon.KubernetesServerList, PrimeConnectionsURI:/, NFLoadBalancerPingInterval:null, OkToRetryOnAllOperations:false, NFLoadBalancerMaxTotalPingTime:null, MaxRetriesPerServerPrimeConnection:9, RequestSpecificRetryOn:null, ReceiveBufferSize:null, StaleCheckingEnabled:null, NFLoadBalancerClassName:com.netflix.loadbalancer.ZoneAwareLoadBalancer, MaxConnectionsPerHost:50, KeyStorePassword:null, ConnectionCleanerRepeatInterval:30000, RulePredicateClasses:null, ProxyPort:null, ServerListRefreshInterval:null, ServerDownFailureLimit:null, VipAddressResolverClassName:com.netflix.client.SimpleVipAddressResolver, ForceClientPortConfiguration:null, DeploymentContextBasedVipAddresses:null, EnableMarkingServerDownOnReachingFailureLimit:null, ServerDownStatWindowInMillis:null, Linger:null, CustomSSLSocketFactoryClassName:null, EnableZoneExclusivity:false, Version:null, MaxHttpConnectionsPerHost:50, InitializeNFLoadBalancer:null, BackoffTimeout:null, GZipPayload:null, PrioritizeVipAddressBasedServers:true, PoolMinThreads:1, MaxAutoRetriesNextServer:1, PoolKeepAliveTime:900, NIWSServerListFilterClassName:null, MinPrimeConnectionsRatio:1.0, TrustStore:null, listOfServers:, SecurePort:null, ServerListUpdaterClassName:null, TargetRegion:null, ReadTimeout:5000, ConnectionPoolCleanerTaskEnabled:true, IsSecure:null, Port:7001, IgnoreUserTokenInConnectionPoolForSecureClient:null, FollowRedirects:false, MaxTotalConnections:200, ConnectTimeout:2000, NFLoadBalancerPingClassName:com.netflix.loadbalancer.DummyPing, MaxTotalTimeToPrimeConnections:30000, EnablePrimeConnections:false, NFLoadBalancerRuleClassName:com.netflix.loadbalancer.AvailabilityFilteringRule
at org.eclipse.jetty.servlet.ServletHolder.makeUnavailable(ServletHolder.java:575)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:632)
at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:477)
at org.eclipse.jetty.servlet.ServletHolder.ensureInstance(ServletHolder.java:769)
at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:754)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:578)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1114)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1048)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
at org.eclipse.jetty.server.Server.handle(Server.java:517)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:302)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:242)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:245)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:213)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:147)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Exception while initializing NIWSDiscoveryLoadBalancer:hello-hystrix, niwsClientConfig:ClientConfig:ConnIdleEvictTimeMilliSeconds:30000, ProxyHost:null, VipAddress:null, PrimeConnectionsClassName:com.netflix.niws.client.http.HttpPrimeConnection, TrustStorePassword:null, IsClientAuthRequired:false, ClientClassName:com.netflix.niws.client.http.RestClient, EnableConnectionPool:true, EnableGZIPContentEncodingFilter:false, EnableZoneAffinity:false, SendBufferSize:null, KeyStore:null, ConnectionManagerTimeout:2000, RequestIdHeaderName:null, UseIPAddrForServer:false, MaxTotalHttpConnections:200, PoolMaxThreads:200, AppName:null, MaxAutoRetries:0, PoolKeepAliveTimeUnits:SECONDS, IsHostnameValidationRequired:null, NIWSServerListClassName:io.fabric8.kubeflix.ribbon.KubernetesServerList, PrimeConnectionsURI:/, NFLoadBalancerPingInterval:null, OkToRetryOnAllOperations:false, NFLoadBalancerMaxTotalPingTime:null, MaxRetriesPerServerPrimeConnection:9, RequestSpecificRetryOn:null, ReceiveBufferSize:null, StaleCheckingEnabled:null, NFLoadBalancerClassName:com.netflix.loadbalancer.ZoneAwareLoadBalancer, MaxConnectionsPerHost:50, KeyStorePassword:null, ConnectionCleanerRepeatInterval:30000, RulePredicateClasses:null, ProxyPort:null, ServerListRefreshInterval:null, ServerDownFailureLimit:null, VipAddressResolverClassName:com.netflix.client.SimpleVipAddressResolver, ForceClientPortConfiguration:null, DeploymentContextBasedVipAddresses:null, EnableMarkingServerDownOnReachingFailureLimit:null, ServerDownStatWindowInMillis:null, Linger:null, CustomSSLSocketFactoryClassName:null, EnableZoneExclusivity:false, Version:null, MaxHttpConnectionsPerHost:50, InitializeNFLoadBalancer:null, BackoffTimeout:null, GZipPayload:null, PrioritizeVipAddressBasedServers:true, PoolMinThreads:1, MaxAutoRetriesNextServer:1, PoolKeepAliveTime:900, NIWSServerListFilterClassName:null, MinPrimeConnectionsRatio:1.0, TrustStore:null, listOfServers:, SecurePort:null, ServerListUpdaterClassName:null, TargetRegion:null, ReadTimeout:5000, ConnectionPoolCleanerTaskEnabled:true, IsSecure:null, Port:7001, IgnoreUserTokenInConnectionPoolForSecureClient:null, FollowRedirects:false, MaxTotalConnections:200, ConnectTimeout:2000, NFLoadBalancerPingClassName:com.netflix.loadbalancer.DummyPing, MaxTotalTimeToPrimeConnections:30000, EnablePrimeConnections:false, NFLoadBalancerRuleClassName:com.netflix.loadbalancer.AvailabilityFilteringRule
at com.netflix.loadbalancer.LoadBalancerBuilder.buildLoadBalancerFromConfigWithReflection(LoadBalancerBuilder.java:118)
at com.netflix.ribbon.transport.netty.http.LoadBalancingHttpClient$Builder.build(LoadBalancingHttpClient.java:180)
at com.netflix.ribbon.transport.netty.RibbonTransport.newHttpClient(RibbonTransport.java:151)
at com.netflix.ribbon.RibbonTransportFactory.newHttpClient(RibbonTransportFactory.java:51)
at com.netflix.ribbon.http.HttpResourceGroup.(HttpResourceGroup.java:73)
at com.netflix.ribbon.http.HttpResourceGroup$Builder.build(HttpResourceGroup.java:61)
at io.fabric8.kubeflix.examples.helloribbon.HelloRibbonServlet.(HelloRibbonServlet.java:49)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at java.lang.Class.newInstance(Class.java:442)
at org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2341)
at org.eclipse.jetty.servlet.ServletContextHandler$Context.createServlet(ServletContextHandler.java:1306)
at org.eclipse.jetty.servlet.ServletHolder.newInstance(ServletHolder.java:1193)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:593)
... 26 more
Caused by: java.lang.RuntimeException: Exception while initializing NIWSDiscoveryLoadBalancer:hello-hystrix, niwsClientConfig:ClientConfig:ConnIdleEvictTimeMilliSeconds:30000, ProxyHost:null, VipAddress:null, PrimeConnectionsClassName:com.netflix.niws.client.http.HttpPrimeConnection, TrustStorePassword:null, IsClientAuthRequired:false, ClientClassName:com.netflix.niws.client.http.RestClient, EnableConnectionPool:true, EnableGZIPContentEncodingFilter:false, EnableZoneAffinity:false, SendBufferSize:null, KeyStore:null, ConnectionManagerTimeout:2000, RequestIdHeaderName:null, UseIPAddrForServer:false, MaxTotalHttpConnections:200, PoolMaxThreads:200, AppName:null, MaxAutoRetries:0, PoolKeepAliveTimeUnits:SECONDS, IsHostnameValidationRequired:null, NIWSServerListClassName:io.fabric8.kubeflix.ribbon.KubernetesServerList, PrimeConnectionsURI:/, NFLoadBalancerPingInterval:null, OkToRetryOnAllOperations:false, NFLoadBalancerMaxTotalPingTime:null, MaxRetriesPerServerPrimeConnection:9, RequestSpecificRetryOn:null, ReceiveBufferSize:null, StaleCheckingEnabled:null, NFLoadBalancerClassName:com.netflix.loadbalancer.ZoneAwareLoadBalancer, MaxConnectionsPerHost:50, KeyStorePassword:null, ConnectionCleanerRepeatInterval:30000, RulePredicateClasses:null, ProxyPort:null, ServerListRefreshInterval:null, ServerDownFailureLimit:null, VipAddressResolverClassName:com.netflix.client.SimpleVipAddressResolver, ForceClientPortConfiguration:null, DeploymentContextBasedVipAddresses:null, EnableMarkingServerDownOnReachingFailureLimit:null, ServerDownStatWindowInMillis:null, Linger:null, CustomSSLSocketFactoryClassName:null, EnableZoneExclusivity:false, Version:null, MaxHttpConnectionsPerHost:50, InitializeNFLoadBalancer:null, BackoffTimeout:null, GZipPayload:null, PrioritizeVipAddressBasedServers:true, PoolMinThreads:1, MaxAutoRetriesNextServer:1, PoolKeepAliveTime:900, NIWSServerListFilterClassName:null, MinPrimeConnectionsRatio:1.0, TrustStore:null, listOfServers:, SecurePort:null, ServerListUpdaterClassName:null, TargetRegion:null, ReadTimeout:5000, ConnectionPoolCleanerTaskEnabled:true, IsSecure:null, Port:7001, IgnoreUserTokenInConnectionPoolForSecureClient:null, FollowRedirects:false, MaxTotalConnections:200, ConnectTimeout:2000, NFLoadBalancerPingClassName:com.netflix.loadbalancer.DummyPing, MaxTotalTimeToPrimeConnections:30000, EnablePrimeConnections:false, NFLoadBalancerRuleClassName:com.netflix.loadbalancer.AvailabilityFilteringRule
at com.netflix.loadbalancer.DynamicServerListLoadBalancer.initWithNiwsConfig(DynamicServerListLoadBalancer.java:131)
at com.netflix.client.ClientFactory.instantiateInstanceWithClientConfig(ClientFactory.java:205)
at com.netflix.loadbalancer.LoadBalancerBuilder.buildLoadBalancerFromConfigWithReflection(LoadBalancerBuilder.java:116)
... 41 more
Caused by: java.lang.NullPointerException
at io.fabric8.kubeflix.ribbon.KubernetesServerList.initWithNiwsConfig(KubernetesServerList.java:66)
at com.netflix.client.ClientFactory.instantiateInstanceWithClientConfig(ClientFactory.java:205)
at com.netflix.loadbalancer.DynamicServerListLoadBalancer.initWithNiwsConfig(DynamicServerListLoadBalancer.java:110)
... 43 more
Caused by:
java.lang.RuntimeException: java.lang.RuntimeException: Exception while initializing NIWSDiscoveryLoadBalancer:hello-hystrix, niwsClientConfig:ClientConfig:ConnIdleEvictTimeMilliSeconds:30000, ProxyHost:null, VipAddress:null, PrimeConnectionsClassName:com.netflix.niws.client.http.HttpPrimeConnection, TrustStorePassword:null, IsClientAuthRequired:false, ClientClassName:com.netflix.niws.client.http.RestClient, EnableConnectionPool:true, EnableGZIPContentEncodingFilter:false, EnableZoneAffinity:false, SendBufferSize:null, KeyStore:null, ConnectionManagerTimeout:2000, RequestIdHeaderName:null, UseIPAddrForServer:false, MaxTotalHttpConnections:200, PoolMaxThreads:200, AppName:null, MaxAutoRetries:0, PoolKeepAliveTimeUnits:SECONDS, IsHostnameValidationRequired:null, NIWSServerListClassName:io.fabric8.kubeflix.ribbon.KubernetesServerList, PrimeConnectionsURI:/, NFLoadBalancerPingInterval:null, OkToRetryOnAllOperations:false, NFLoadBalancerMaxTotalPingTime:null, MaxRetriesPerServerPrimeConnection:9, RequestSpecificRetryOn:null, ReceiveBufferSize:null, StaleCheckingEnabled:null, NFLoadBalancerClassName:com.netflix.loadbalancer.ZoneAwareLoadBalancer, MaxConnectionsPerHost:50, KeyStorePassword:null, ConnectionCleanerRepeatInterval:30000, RulePredicateClasses:null, ProxyPort:null, ServerListRefreshInterval:null, ServerDownFailureLimit:null, VipAddressResolverClassName:com.netflix.client.SimpleVipAddressResolver, ForceClientPortConfiguration:null, DeploymentContextBasedVipAddresses:null, EnableMarkingServerDownOnReachingFailureLimit:null, ServerDownStatWindowInMillis:null, Linger:null, CustomSSLSocketFactoryClassName:null, EnableZoneExclusivity:false, Version:null, MaxHttpConnectionsPerHost:50, InitializeNFLoadBalancer:null, BackoffTimeout:null, GZipPayload:null, PrioritizeVipAddressBasedServers:true, PoolMinThreads:1, MaxAutoRetriesNextServer:1, PoolKeepAliveTime:900, NIWSServerListFilterClassName:null, MinPrimeConnectionsRatio:1.0, TrustStore:null, listOfServers:, SecurePort:null, ServerListUpdaterClassName:null, TargetRegion:null, ReadTimeout:5000, ConnectionPoolCleanerTaskEnabled:true, IsSecure:null, Port:7001, IgnoreUserTokenInConnectionPoolForSecureClient:null, FollowRedirects:false, MaxTotalConnections:200, ConnectTimeout:2000, NFLoadBalancerPingClassName:com.netflix.loadbalancer.DummyPing, MaxTotalTimeToPrimeConnections:30000, EnablePrimeConnections:false, NFLoadBalancerRuleClassName:com.netflix.loadbalancer.AvailabilityFilteringRule
at com.netflix.loadbalancer.LoadBalancerBuilder.buildLoadBalancerFromConfigWithReflection(LoadBalancerBuilder.java:118)
at com.netflix.ribbon.transport.netty.http.LoadBalancingHttpClient$Builder.build(LoadBalancingHttpClient.java:180)
at com.netflix.ribbon.transport.netty.RibbonTransport.newHttpClient(RibbonTransport.java:151)
at com.netflix.ribbon.RibbonTransportFactory.newHttpClient(RibbonTransportFactory.java:51)
at com.netflix.ribbon.http.HttpResourceGroup.(HttpResourceGroup.java:73)
at com.netflix.ribbon.http.HttpResourceGroup$Builder.build(HttpResourceGroup.java:61)
at io.fabric8.kubeflix.examples.helloribbon.HelloRibbonServlet.(HelloRibbonServlet.java:49)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at java.lang.Class.newInstance(Class.java:442)
at org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2341)
at org.eclipse.jetty.servlet.ServletContextHandler$Context.createServlet(ServletContextHandler.java:1306)
at org.eclipse.jetty.servlet.ServletHolder.newInstance(ServletHolder.java:1193)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:593)
at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:477)
at org.eclipse.jetty.servlet.ServletHolder.ensureInstance(ServletHolder.java:769)
at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:754)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:578)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1114)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1048)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
at org.eclipse.jetty.server.Server.handle(Server.java:517)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:302)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:242)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:245)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:213)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:147)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: Exception while initializing NIWSDiscoveryLoadBalancer:hello-hystrix, niwsClientConfig:ClientConfig:ConnIdleEvictTimeMilliSeconds:30000, ProxyHost:null, VipAddress:null, PrimeConnectionsClassName:com.netflix.niws.client.http.HttpPrimeConnection, TrustStorePassword:null, IsClientAuthRequired:false, ClientClassName:com.netflix.niws.client.http.RestClient, EnableConnectionPool:true, EnableGZIPContentEncodingFilter:false, EnableZoneAffinity:false, SendBufferSize:null, KeyStore:null, ConnectionManagerTimeout:2000, RequestIdHeaderName:null, UseIPAddrForServer:false, MaxTotalHttpConnections:200, PoolMaxThreads:200, AppName:null, MaxAutoRetries:0, PoolKeepAliveTimeUnits:SECONDS, IsHostnameValidationRequired:null, NIWSServerListClassName:io.fabric8.kubeflix.ribbon.KubernetesServerList, PrimeConnectionsURI:/, NFLoadBalancerPingInterval:null, OkToRetryOnAllOperations:false, NFLoadBalancerMaxTotalPingTime:null, MaxRetriesPerServerPrimeConnection:9, RequestSpecificRetryOn:null, ReceiveBufferSize:null, StaleCheckingEnabled:null, NFLoadBalancerClassName:com.netflix.loadbalancer.ZoneAwareLoadBalancer, MaxConnectionsPerHost:50, KeyStorePassword:null, ConnectionCleanerRepeatInterval:30000, RulePredicateClasses:null, ProxyPort:null, ServerListRefreshInterval:null, ServerDownFailureLimit:null, VipAddressResolverClassName:com.netflix.client.SimpleVipAddressResolver, ForceClientPortConfiguration:null, DeploymentContextBasedVipAddresses:null, EnableMarkingServerDownOnReachingFailureLimit:null, ServerDownStatWindowInMillis:null, Linger:null, CustomSSLSocketFactoryClassName:null, EnableZoneExclusivity:false, Version:null, MaxHttpConnectionsPerHost:50, InitializeNFLoadBalancer:null, BackoffTimeout:null, GZipPayload:null, PrioritizeVipAddressBasedServers:true, PoolMinThreads:1, MaxAutoRetriesNextServer:1, PoolKeepAliveTime:900, NIWSServerListFilterClassName:null, MinPrimeConnectionsRatio:1.0, TrustStore:null, listOfServers:, SecurePort:null, ServerListUpdaterClassName:null, TargetRegion:null, ReadTimeout:5000, ConnectionPoolCleanerTaskEnabled:true, IsSecure:null, Port:7001, IgnoreUserTokenInConnectionPoolForSecureClient:null, FollowRedirects:false, MaxTotalConnections:200, ConnectTimeout:2000, NFLoadBalancerPingClassName:com.netflix.loadbalancer.DummyPing, MaxTotalTimeToPrimeConnections:30000, EnablePrimeConnections:false, NFLoadBalancerRuleClassName:com.netflix.loadbalancer.AvailabilityFilteringRule
at com.netflix.loadbalancer.DynamicServerListLoadBalancer.initWithNiwsConfig(DynamicServerListLoadBalancer.java:131)
at com.netflix.client.ClientFactory.instantiateInstanceWithClientConfig(ClientFactory.java:205)
at com.netflix.loadbalancer.LoadBalancerBuilder.buildLoadBalancerFromConfigWithReflection(LoadBalancerBuilder.java:116)
... 41 more
Caused by: java.lang.NullPointerException
at io.fabric8.kubeflix.ribbon.KubernetesServerList.initWithNiwsConfig(KubernetesServerList.java:66)
at com.netflix.client.ClientFactory.instantiateInstanceWithClientConfig(ClientFactory.java:205)
at com.netflix.loadbalancer.DynamicServerListLoadBalancer.initWithNiwsConfig(DynamicServerListLoadBalancer.java:110)
... 43 more
Caused by:
java.lang.RuntimeException: Exception while initializing NIWSDiscoveryLoadBalancer:hello-hystrix, niwsClientConfig:ClientConfig:ConnIdleEvictTimeMilliSeconds:30000, ProxyHost:null, VipAddress:null, PrimeConnectionsClassName:com.netflix.niws.client.http.HttpPrimeConnection, TrustStorePassword:null, IsClientAuthRequired:false, ClientClassName:com.netflix.niws.client.http.RestClient, EnableConnectionPool:true, EnableGZIPContentEncodingFilter:false, EnableZoneAffinity:false, SendBufferSize:null, KeyStore:null, ConnectionManagerTimeout:2000, RequestIdHeaderName:null, UseIPAddrForServer:false, MaxTotalHttpConnections:200, PoolMaxThreads:200, AppName:null, MaxAutoRetries:0, PoolKeepAliveTimeUnits:SECONDS, IsHostnameValidationRequired:null, NIWSServerListClassName:io.fabric8.kubeflix.ribbon.KubernetesServerList, PrimeConnectionsURI:/, NFLoadBalancerPingInterval:null, OkToRetryOnAllOperations:false, NFLoadBalancerMaxTotalPingTime:null, MaxRetriesPerServerPrimeConnection:9, RequestSpecificRetryOn:null, ReceiveBufferSize:null, StaleCheckingEnabled:null, NFLoadBalancerClassName:com.netflix.loadbalancer.ZoneAwareLoadBalancer, MaxConnectionsPerHost:50, KeyStorePassword:null, ConnectionCleanerRepeatInterval:30000, RulePredicateClasses:null, ProxyPort:null, ServerListRefreshInterval:null, ServerDownFailureLimit:null, VipAddressResolverClassName:com.netflix.client.SimpleVipAddressResolver, ForceClientPortConfiguration:null, DeploymentContextBasedVipAddresses:null, EnableMarkingServerDownOnReachingFailureLimit:null, ServerDownStatWindowInMillis:null, Linger:null, CustomSSLSocketFactoryClassName:null, EnableZoneExclusivity:false, Version:null, MaxHttpConnectionsPerHost:50, InitializeNFLoadBalancer:null, BackoffTimeout:null, GZipPayload:null, PrioritizeVipAddressBasedServers:true, PoolMinThreads:1, MaxAutoRetriesNextServer:1, PoolKeepAliveTime:900, NIWSServerListFilterClassName:null, MinPrimeConnectionsRatio:1.0, TrustStore:null, listOfServers:, SecurePort:null, ServerListUpdaterClassName:null, TargetRegion:null, ReadTimeout:5000, ConnectionPoolCleanerTaskEnabled:true, IsSecure:null, Port:7001, IgnoreUserTokenInConnectionPoolForSecureClient:null, FollowRedirects:false, MaxTotalConnections:200, ConnectTimeout:2000, NFLoadBalancerPingClassName:com.netflix.loadbalancer.DummyPing, MaxTotalTimeToPrimeConnections:30000, EnablePrimeConnections:false, NFLoadBalancerRuleClassName:com.netflix.loadbalancer.AvailabilityFilteringRule
at com.netflix.loadbalancer.DynamicServerListLoadBalancer.initWithNiwsConfig(DynamicServerListLoadBalancer.java:131)
at com.netflix.client.ClientFactory.instantiateInstanceWithClientConfig(ClientFactory.java:205)
at com.netflix.loadbalancer.LoadBalancerBuilder.buildLoadBalancerFromConfigWithReflection(LoadBalancerBuilder.java:116)
at com.netflix.ribbon.transport.netty.http.LoadBalancingHttpClient$Builder.build(LoadBalancingHttpClient.java:180)
at com.netflix.ribbon.transport.netty.RibbonTransport.newHttpClient(RibbonTransport.java:151)
at com.netflix.ribbon.RibbonTransportFactory.newHttpClient(RibbonTransportFactory.java:51)
at com.netflix.ribbon.http.HttpResourceGroup.(HttpResourceGroup.java:73)
at com.netflix.ribbon.http.HttpResourceGroup$Builder.build(HttpResourceGroup.java:61)
at io.fabric8.kubeflix.examples.helloribbon.HelloRibbonServlet.(HelloRibbonServlet.java:49)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at java.lang.Class.newInstance(Class.java:442)
at org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2341)
at org.eclipse.jetty.servlet.ServletContextHandler$Context.createServlet(ServletContextHandler.java:1306)
at org.eclipse.jetty.servlet.ServletHolder.newInstance(ServletHolder.java:1193)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:593)
at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:477)
at org.eclipse.jetty.servlet.ServletHolder.ensureInstance(ServletHolder.java:769)
at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:754)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:578)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1114)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1048)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
at org.eclipse.jetty.server.Server.handle(Server.java:517)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:302)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:242)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:245)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:213)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:147)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at io.fabric8.kubeflix.ribbon.KubernetesServerList.initWithNiwsConfig(KubernetesServerList.java:66)
at com.netflix.client.ClientFactory.instantiateInstanceWithClientConfig(ClientFactory.java:205)
at com.netflix.loadbalancer.DynamicServerListLoadBalancer.initWithNiwsConfig(DynamicServerListLoadBalancer.java:110)
... 43 more
Caused by:
java.lang.NullPointerException
at io.fabric8.kubeflix.ribbon.KubernetesServerList.initWithNiwsConfig(KubernetesServerList.java:66)
at com.netflix.client.ClientFactory.instantiateInstanceWithClientConfig(ClientFactory.java:205)
at com.netflix.loadbalancer.DynamicServerListLoadBalancer.initWithNiwsConfig(DynamicServerListLoadBalancer.java:110)
at com.netflix.client.ClientFactory.instantiateInstanceWithClientConfig(ClientFactory.java:205)
at com.netflix.loadbalancer.LoadBalancerBuilder.buildLoadBalancerFromConfigWithReflection(LoadBalancerBuilder.java:116)
at com.netflix.ribbon.transport.netty.http.LoadBalancingHttpClient$Builder.build(LoadBalancingHttpClient.java:180)
at com.netflix.ribbon.transport.netty.RibbonTransport.newHttpClient(RibbonTransport.java:151)
at com.netflix.ribbon.RibbonTransportFactory.newHttpClient(RibbonTransportFactory.java:51)
at com.netflix.ribbon.http.HttpResourceGroup.(HttpResourceGroup.java:73)
at com.netflix.ribbon.http.HttpResourceGroup$Builder.build(HttpResourceGroup.java:61)
at io.fabric8.kubeflix.examples.helloribbon.HelloRibbonServlet.(HelloRibbonServlet.java:49)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at java.lang.Class.newInstance(Class.java:442)
at org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2341)
at org.eclipse.jetty.servlet.ServletContextHandler$Context.createServlet(ServletContextHandler.java:1306)
at org.eclipse.jetty.servlet.ServletHolder.newInstance(ServletHolder.java:1193)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:593)
at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:477)
at org.eclipse.jetty.servlet.ServletHolder.ensureInstance(ServletHolder.java:769)
at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:754)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:578)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1114)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1048)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
at org.eclipse.jetty.server.Server.handle(Server.java:517)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:302)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:242)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:245)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:213)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:147)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
at java.lang.Thread.run(Thread.java:745)
I got the hello-hystrix example working in my vagrant sandbox, but couldn't get them working in my own k8 cluster with the same exported docker images.
I curled the turbine server and only got the heartbeat, it appears the turbine server is not finding any valid streams. Can you guys help check my labels? Anything needed besides "hystrix.enabled: true"? also is there any other config required inside the turbine server? what else do i need to check?
$ kubectl get svc hello-hystrix -o yaml
apiVersion: v1
kind: Service
metadata:
creationTimestamp: 2016-04-01T17:19:15Z
labels:
app: laroc
hystrix.enabled: "true"
namespace: goc
name: hello-hystrix
namespace: laroc
resourceVersion: "37218890"
selfLink: /api/v1/namespaces/coral/services/hello-hystrix
uid: dc267df9-f82d-11e5-bf65-0025b5360aff
spec:
clusterIP: 192.168.0.38
ports:
- nodePort: 9203
port: 80
protocol: TCP
targetPort: 8080
selector:
app: laroc
hystrix.enabled: "true"
name: hello-hystrix
namespace: goc
sessionAffinity: None
type: LoadBalancer
status:
loadBalancer: {}
looks like kubeflix is using a really old version of kubernetes-client. Upgrading caused issues with mockwebserver - so maybe that needs to migrate to the io.fabric8 one?
Not totally sure - figure @iocanel you'd know better :)
can someone list the dependencies for this project? The instructions are very brief, following it does not lead to successful builds
I am getting this error which i assume is because i don't have fabric8 installed. [ERROR] Failed to execute goal io.fabric8:docker-maven-plugin:0.14.2:build (default-cli) on project turbine-server: Execution default-cli of goal io.fabric8:docker-maven-plugin:0.14.2:build failed: No url given, no DOCKER_HOST environment variable and no read/writable '/var/run/docker.sock' -> [Help 1]
The pod created using this openshift template ("oc create -f http://central.maven.org/maven2/io/fabric8/kubeflix/packages/kubeflix/1.0.23/kubeflix-1.0.23-kubernetes.yml") crashes
See the error reported by Spring during bootstraps
09:27:30.556 [main] DEBUG io.fabric8.kubernetes.client.Config - Trying to configure client from Kubernetes config...
09:27:30.581 [main] DEBUG io.fabric8.kubernetes.client.Config - Did not find Kubernetes config at: [/.kube/config]. Ignoring.
09:27:30.581 [main] DEBUG io.fabric8.kubernetes.client.Config - Trying to configure client from service account...
09:27:30.582 [main] DEBUG io.fabric8.kubernetes.client.Config - Found service account ca cert at: [/var/run/secrets/kubernetes.io/serviceaccount/ca.crt].
09:27:30.585 [main] DEBUG io.fabric8.kubernetes.client.Config - Found service account token at: [/var/run/secrets/kubernetes.io/serviceaccount/token].
09:27:30.585 [main] DEBUG io.fabric8.kubernetes.client.Config - Trying to configure client namespace from Kubernetes service account namespace path...
09:27:30.585 [main] DEBUG io.fabric8.kubernetes.client.Config - Found service account namespace at: [/var/run/secrets/kubernetes.io/serviceaccount/namespace].
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:58)
Caused by: java.lang.NoSuchMethodError: org.springframework.cloud.commons.util.InetUtils.<init>(Lorg/springframework/cloud/commons/util/InetUtilsProperties;)V
at org.springframework.cloud.client.HostInfoEnvironmentPostProcessor.getFirstNonLoopbackHostInfo(HostInfoEnvironmentPostProcessor.java:48)
at org.springframework.cloud.client.HostInfoEnvironmentPostProcessor.postProcessEnvironment(HostInfoEnvironmentPostProcessor.java:34)
at org.springframework.boot.context.config.ConfigFileApplicationListener.onApplicationEnvironmentPreparedEvent(ConfigFileApplicationListener.java:168)
at org.springframework.boot.context.config.ConfigFileApplicationListener.onApplicationEvent(ConfigFileApplicationListener.java:154)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:121)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:68)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:335)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134)
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:140)
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:84)
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:62)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:121)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:68)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:335)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1185)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1174)
at io.fabric8.kubeflix.TurbineServerApplication.main(TurbineServerApplication.java:32)
along with a docker/kubernetes packaging of the zipkin console
verify by running the demo and watching the hystrix circuit breaker report 100% failures. noticed this in demo @rajdavies and @jstrachan and i did this morning.
I have a fix coming in a sec.
1.4.13 does not have this issue.
Kubeflix Turbine server deployed in a pod of Kubernetes Cluster failed to start.
Kubernetes Cluster Hosted in IBM Cloud with version v1.7.4-1+1540c973d4ff9d
Steps we have done .
java-code
java-code.zip
application.yml
application.properties.zip
pom.xml
pom.xml.zip
Deployment files
yml files.zip
Observation
Pod failed to start up and showing the following errors.
11:37:47.667 [main] DEBUG io.fabric8.kubernetes.client.Config - Trying to configure client from Kubernetes config...
11:37:47.707 [main] DEBUG io.fabric8.kubernetes.client.Config - Did not find Kubernetes config at: [/root/.kube/config]. Ignoring.
11:37:47.707 [main] DEBUG io.fabric8.kubernetes.client.Config - Trying to configure client from service account...
11:37:47.707 [main] DEBUG io.fabric8.kubernetes.client.Config - Found service account ca cert at: [/var/run/secrets/kubernetes.io/serviceaccount/ca.crt].
11:37:47.719 [main] DEBUG io.fabric8.kubernetes.client.Config - Found service account token at: [/var/run/secrets/kubernetes.io/serviceaccount/token].
11:37:47.720 [main] DEBUG io.fabric8.kubernetes.client.Config - Trying to configure client namespace from Kubernetes service account namespace path...
11:37:47.721 [main] DEBUG io.fabric8.kubernetes.client.Config - Found service account namespace at: [/var/run/secrets/kubernetes.io/serviceaccount/namespace].
11:37:48.790 [main] WARN io.fabric8.kubernetes.client.internal.SSLUtils - SSL handshake failed. Falling back to insecure connection.
2017-12-01 11:37:50.513 WARN [bootstrap,,,] 51 --- [ main] i.f.s.cloud.kubernetes.StandardPodUtils : Failed to get pod with name:[turbine-server-156932739-cd2vf]. You should look into this if things aren't working as you expect. Are you missing serviceaccount permissions?
at org.springframework.boot.SpringApplication.run(SpringApplication.java:301) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:175) ~[spring-cloud-context-1.2.2.RELEASE.jar!/:1.2.2.RELEASE]
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:98) ~[spring-cloud-context-1.2.2.RELEASE.jar!/:1.2.2.RELEASE]
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:64) ~[spring-cloud-context-1.2.2.RELEASE.jar!/:1.2.2.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122) ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE]
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:74) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:325) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
at com.example.demo.TurbineServerApplication.main(TurbineServerApplication.java:33) ~[classes!/:0.0.1-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_111]
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) ~[turbineserver.war:0.0.1-SNAPSHOT]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) ~[turbineserver.war:0.0.1-SNAPSHOT]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) ~[turbineserver.war:0.0.1-SNAPSHOT]
at org.springframework.boot.loader.WarLauncher.main(WarLauncher.java:59) ~[turbineserver.war:0.0.1-SNAPSHOT]
2017-12-01 11:37:50.708 INFO [bootstrap,,,] 51 --- [ main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@483bf400: startup date [Fri Dec 01 11:37:50 UTC 2017]; root of context hierarchy
2017-12-01 11:37:51.515 INFO [bootstrap,,,] 51 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2017-12-01 11:37:51.660 INFO [bootstrap,,,] 51 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'configurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$8d7e7cf1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2017-12-01 11:37:52.608 WARN [bootstrap,,,] 51 --- [ main] i.f.kubernetes.client.internal.SSLUtils : SSL handshake failed. Falling back to insecure connection.
\/ )| |)| | | | | || (| | ) ) ) )
' || .__|| ||| |_, | / / / /
=========||==============|/=///_/
:: Spring Boot :: (v1.5.8.RELEASE)
2017-12-01 11:37:53.244 ERROR [turbine-server,,,] 51 --- [ main] o.s.boot.SpringApplication : Application startup failed
java.lang.NoSuchMethodError: io.fabric8.kubernetes.client.KubernetesClient.configMaps()Lio/fabric8/kubernetes/client/dsl/MixedOperation;
at io.fabric8.spring.cloud.kubernetes.config.ConfigMapPropertySource.getData(ConfigMapPropertySource.java:68) ~[spring-cloud-kubernetes-core-0.1.6.jar!/:na]
at io.fabric8.spring.cloud.kubernetes.config.ConfigMapPropertySource.(ConfigMapPropertySource.java:50) ~[spring-cloud-kubernetes-core-0.1.6.jar!/:na]
at io.fabric8.spring.cloud.kubernetes.config.ConfigMapPropertySourceLocator.locate(ConfigMapPropertySourceLocator.java:44) ~[spring-cloud-kubernetes-core-0.1.6.jar!/:na]
at io.fabric8.spring.cloud.kubernetes.config.ConfigMapPropertySourceLocator.locate(ConfigMapPropertySourceLocator.java:28) ~[spring-cloud-kubernetes-core-0.1.6.jar!/:na]
at org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration.initialize(PropertySourceBootstrapConfiguration.java:93) ~[spring-cloud-context-1.2.2.RELEASE.jar!/:1.2.2.RELEASE]
at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:567) [spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:338) [spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:301) [spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
at com.example.demo.TurbineServerApplication.main(TurbineServerApplication.java:33) [classes!/:0.0.1-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_111]
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [turbineserver.war:0.0.1-SNAPSHOT]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [turbineserver.war:0.0.1-SNAPSHOT]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [turbineserver.war:0.0.1-SNAPSHOT]
at org.springframework.boot.loader.WarLauncher.main(WarLauncher.java:59) [turbineserver.war:0.0.1-SNAPSHOT]
[turbineserver.war:0.0.1-SNAPSHOT]
Cannot see any ribbon related code on kubeflix/examples/hello-world/hello-ribbon-springboot/
I see hystrix things but nothing on ribbon.
The following error happened when I tried to deploy in Openshift 1.3 using 'oc create -f http://central.maven.org/maven2/io/fabric8/kubeflix/packages/kubeflix/1.0.20/kubeflix-1.0.20-kubernetes.yml'
":"kubeflix","project":"kubeflix","provider":"fabric8","version":"1.0.20"}:
selectordoes not match template
labels Error from server: Deployment.extensions "turbine-server" is invalid: spec.template.metadata.labels: Invalid value: {"group":"io.fabric8.kubeflix","package":"kubeflix","project":"kubeflix","provider":"fabric8","version":"1.0.20"}:
selectordoes not match template
labels``
hi,
there should be a way to specify where the hystrix stream can be found for the observed pods.
Not all webapps will have the hystrix stream at /hystrix.stream
For example many webapps will have a context root before that.
I started a similar project to what you're doing here and stopped when I saw that you guys where going to provide "official" support. I had solved this problem, you may want to take a look: https://github.com/raffaelespazzoli/hystrix-kuberneters-instance-discovery
thanks
Raffaele
I have taken your example zuul-proxy, and modified it for my own use.
I'm having issues getting the namespace to be set when looking up endpoints exposed through zuul.
I can see the services being mapped to ZuulController.
When I try to hit those mapped URL paths, I see an error in the logs:
KubernetesServerList : Did not find any endpoints in ribbon in namespace [null] for name [xxxx] and portName [xxxx]
The name and portName are correct based on the URL being used, and the configuration.
What am I missing to get the namespace set?
Hi folks
i've build/deployed "hello-world" example against minikube (kubernetes v1.7.5)
HTTP ERROR 500
Problem accessing /hello. Reason:
Server Error
Caused by:
javax.servlet.ServletException: java.lang.RuntimeException: java.lang.RuntimeException: Exception while initializing NIWSDiscoveryLoadBalancer:hello-hystrix, niwsClientConfig:ClientConfig:IsSecure:null, PoolKeepAliveTime:900, MaxTotalConnections:200, EnableConnectionPool:true, EnablePrimeConnections:false, TrustStorePassword:null, DeploymentContextBasedVipAddresses:null, MaxRetriesPerServerPrimeConnection:9, ReadTimeout:5000, ForceClientPortConfiguration:null, EnableZoneExclusivity:false, StaleCheckingEnabled:null, Port:7001, PoolMinThreads:1, ServerListRefreshInterval:null, NIWSServerListFilterClassName:null, ConnectionManagerTimeout:2000, MaxTotalHttpConnections:200, NFLoadBalancerMaxTotalPingTime:null, EnableGZIPContentEncodingFilter:false, IgnoreUserTokenInConnectionPoolForSecureClient:null, KeyStorePassword:null, VipAddress:null, TrustStore:null, AppName:null, PrioritizeVipAddressBasedServers:true, Version:null, UseIPAddrForServer:false, PrimeConnectionsClassName:com.netflix.niws.client.http.HttpPrimeConnection, ServerDownFailureLimit:null, NFLoadBalancerClassName:com.netflix.loadbalancer.ZoneAwareLoadBalancer, ReceiveBufferSize:null, KeyStore:null, EnableZoneAffinity:false, BackoffTimeout:null, MaxTotalTimeToPrimeConnections:30000, ServerDownStatWindowInMillis:null, MaxAutoRetries:0, SendBufferSize:null, IsClientAuthRequired:false, PoolKeepAliveTimeUnits:SECONDS, SecurePort:null, FollowRedirects:false, VipAddressResolverClassName:com.netflix.client.SimpleVipAddressResolver, EnableMarkingServerDownOnReachingFailureLimit:null, NFLoadBalancerRuleClassName:com.netflix.loadbalancer.AvailabilityFilteringRule, ServerListUpdaterClassName:null, MaxHttpConnectionsPerHost:50, MinPrimeConnectionsRatio:1.0, ClientClassName:com.netflix.niws.client.http.RestClient, RequestIdHeaderName:null, ConnectionCleanerRepeatInterval:30000, ProxyHost:null, OkToRetryOnAllOperations:false, PoolMaxThreads:200, ConnIdleEvictTimeMilliSeconds:30000, RequestSpecificRetryOn:null, NFLoadBalancerPingClassName:com.netflix.loadbalancer.DummyPing, PrimeConnectionsURI:/, ConnectionPoolCleanerTaskEnabled:true, InitializeNFLoadBalancer:null, Linger:null, NFLoadBalancerPingInterval:null, ConnectTimeout:2000, listOfServers:, MaxConnectionsPerHost:50, ProxyPort:null, TargetRegion:null, GZipPayload:null, CustomSSLSocketFactoryClassName:null, IsHostnameValidationRequired:null, RulePredicateClasses:null, MaxAutoRetriesNextServer:1, NIWSServerListClassName:io.fabric8.kubeflix.ribbon.KubernetesServerList
at org.eclipse.jetty.servlet.ServletContextHandler$Context.createServlet(ServletContextHandler.java:1312)
...
here is a complete log: https://gist.github.com/zavalit/df74424786136ecedf855daa29d09e9c
and after a minute
HTTP ERROR 503
Problem accessing /hello. Reason:
Service Unavailable
Caused by:
org.eclipse.jetty.servlet.ServletHolder$1: java.lang.RuntimeException: java.lang.RuntimeException: Exception while initializing NIWSDiscoveryLoadBalancer:hello-hystrix, niwsClientConfig:ClientConfig:IsSecure:null, PoolKeepAliveTime:900, MaxTotalConnections:200, EnableConnectionPool:true, EnablePrimeConnections:false, TrustStorePassword:null, DeploymentContextBasedVipAddresses:null, MaxRetriesPerServerPrimeConnection:9, ReadTimeout:5000, ForceClientPortConfiguration:null, EnableZoneExclusivity:false, StaleCheckingEnabled:null, Port:7001, PoolMinThreads:1, ServerListRefreshInterval:null, NIWSServerListFilterClassName:null, ConnectionManagerTimeout:2000, MaxTotalHttpConnections:200, NFLoadBalancerMaxTotalPingTime:null, EnableGZIPContentEncodingFilter:false, IgnoreUserTokenInConnectionPoolForSecureClient:null, KeyStorePassword:null, VipAddress:null, TrustStore:null, AppName:null, PrioritizeVipAddressBasedServers:true, Version:null, UseIPAddrForServer:false, PrimeConnectionsClassName:com.netflix.niws.client.http.HttpPrimeConnection, ServerDownFailureLimit:null, NFLoadBalancerClassName:com.netflix.loadbalancer.ZoneAwareLoadBalancer, ReceiveBufferSize:null, KeyStore:null, EnableZoneAffinity:false, BackoffTimeout:null, MaxTotalTimeToPrimeConnections:30000, ServerDownStatWindowInMillis:null, MaxAutoRetries:0, SendBufferSize:null, IsClientAuthRequired:false, PoolKeepAliveTimeUnits:SECONDS, SecurePort:null, FollowRedirects:false, VipAddressResolverClassName:com.netflix.client.SimpleVipAddressResolver, EnableMarkingServerDownOnReachingFailureLimit:null, NFLoadBalancerRuleClassName:com.netflix.loadbalancer.AvailabilityFilteringRule, ServerListUpdaterClassName:null, MaxHttpConnectionsPerHost:50, MinPrimeConnectionsRatio:1.0, ClientClassName:com.netflix.niws.client.http.RestClient, RequestIdHeaderName:null, ConnectionCleanerRepeatInterval:30000, ProxyHost:null, OkToRetryOnAllOperations:false, PoolMaxThreads:200, ConnIdleEvictTimeMilliSeconds:30000, RequestSpecificRetryOn:null, NFLoadBalancerPingClassName:com.netflix.loadbalancer.DummyPing, PrimeConnectionsURI:/, ConnectionPoolCleanerTaskEnabled:true, InitializeNFLoadBalancer:null, Linger:null, NFLoadBalancerPingInterval:null, ConnectTimeout:2000, listOfServers:, MaxConnectionsPerHost:50, ProxyPort:null, TargetRegion:null, GZipPayload:null, CustomSSLSocketFactoryClassName:null, IsHostnameValidationRequired:null, RulePredicateClasses:null, MaxAutoRetriesNextServer:1, NIWSServerListClassName:io.fabric8.kubeflix.ribbon.KubernetesServerList
at org.eclipse.jetty.servlet.ServletHolder.makeUnavailable(ServletHolder.java:575)
...
here is complete log: https://gist.github.com/zavalit/ac366b41bb89d76055e3338635b79b4e
Meanwhile both hello-hystrix and hello-ribbon-spring-boot are running like specified.
I tried out the hello-hystrix example. I scaled up the pods to 6 instances. But when deploying hystrix-dashboard and turbine-server I only see 1 host on the dasboard and the turbine stream also shows "reportingHostsLast10Seconds":1. Alhough in the turbine logs I can see that 6 hosts were discovered.
I ran the example on my local minikube.
Thanks,
Thorsten
I tried to build it's failed.
I am not a developer, purely Infra guy.
Is it possible create docker images of all containers and push to docker hub so people can use easyly.
Anyway it's a nice example.
Thanks in advance.
Hi,
I'm working with OpenShift 3.1 which aligns with kubernetes 1.1.
It looks like the new spring based framework requires configmaps to be available.
I'd like to request configmaps to be optionals and that the application starts even if they are not available
Thanks
Raffaele
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.