Hi Mike,

See my answer inline

> Le 30 avr. 2020 à 23:20, Mike Hummel <[email protected]> a écrit :
> 
> Hello,
> 
> referencing to Dimitrys presentation I understand that it's useful to group a 
> set of services in the same osgi container. This will reduce complexity and 
> work while updates, IC and more.
> 
> following some ideas to become karaf more kubernetes ready ...
> 
> - That's currently possible without changes. It's a pure design decision.

Yes, Karaf is already ready for that.

> 
> - What currently is missing is a useful docker image supporting configuration 
> via environment variables, changing user id and supporting sidecars like 
> filebeat or loki promtail. - I already created a docker image with features 
> like this. I can contribute it if wanted.

It’s already possible: you can populate and overwrite any config (located in 
etc originally) with env variables. The format is pid:property=value, for 
instance -Dorg.apache.karaf.log:foo=bar. I worked on this feature, the PR will 
be open soon.

> 
> - Even support for tracing collectors like jeager would help to integrate 
> karaf in a kubernetes environment.

Not sure, but you can already use zipkin, dropwizard, etc, with Karaf Decanter.

> 
> - I already created a health and readiness check servlet using felix health 
> framework and watching log messages. Maybe this could become part of karaf 
> core.

Most probably part of Decanter IMHO.

> 
> - Maybe it's possible to combine karaf with existing mesh tools to create 
> fast kubernetes configurations with sidecars ect.

It sounds like good idea, +1.

> 
> - A common topic for clustering is a common cache and locking. It's possible 
> with hazelcast. But I was not able use hazelcasts caching service - lots of 
> class loader issues. I was able to use ehcache (no locking) and redis for 
> this features. It's a shame that specially 'java caching api' is not possible 
> in OSGi using hazelcast. It's also not easy with ehcache but I found a 
> workaround.

Hazelcast works fine (we are using it in Cellar). Apache Ignite also provides 
Karaf support. I think it makes sense to add an example/documentation/blog 
about that. +1

> 
> - Also common cron jobs are needed - should be executed only once in a 
> cluster. Maybe it's possible to generate a kubernetes cronjob config instead 
> of using a scheduler (maybe by using annotations).
> 

Karaf includes a scheduler for cron and trigger (it’s powered by quartz behind 
the hood). It exposes a service, so, we can add/improve new implementation of 
the Karaf scheduler for k8s cronjob.

> My background:
> 
> I'm woking for a telecomunication company even for process automatisation. 
> Four years ago we decided to use karaf and JMS to create a decentralised 
> environment. The control center is using vaadin as UI framework. Currently 
> I'm planing to migrate the environment in a kubernetes cloud.
> 
> I found the presentation of Dimitry very helpful. I will try not to divide 
> each service in a separate container. In this scenario it's also possible to 
> share database entities in the same JVM engine - this will even boost the 
> performance - instead of using it via rest all the time.
> 
> Also interesting is the support of API gateways. For me a big problem is the 
> service discovery. It's absolutely stupid to configure each service manually 
> in the API gateway. A more comfortable way would be some kind of discovery. 
> Karaf could automatically configure/update the gateway depending on the 
> provided jax rs resources.


Thanks for sharing Mike and I like your ideas. About API Gateway, we started a 
Karaf Vineyard PoC with discovery. I know that some companies are working on a 
Gateway with discovery and pattern as well (Yupiik is working on Galaxy gateway 
for instance).
I would be more than happy to chat with you to move forward on your points and 
improve Karaf !

Thanks again !
Regards
JB

> 
> cu
> 
> Mike
> 
> 
> 
> 
> 
> 
> 
> 

Reply via email to