apache / incubator-kie-kogito-operator

Kubernetes Operator for Kogito
Apache License 2.0
45 stars 79 forks source link

Support non-OpenShift use #374

Closed rektide closed 4 years ago

rektide commented 4 years ago

Hello. I'm wondering if there's any chance this project might come to support more generic deployments than onto OpenShift? OpenShift is, at the moment, a requirement. I'd love to be able to manage all the pieces of Kogito effectively, but I am running on a different Kubernetes distribution, and would love to still be able to leverage kogito-cloud-operator.

Some questions I have that I hope would help raise understanding of what that might entail:

sutaakar commented 4 years ago

Hello @rektide , Yes, there is an ongoing effort to allow Kogito operator fully operate on plain Kubernetes environment. It is tracked in KOGITO-819 JIRA.

Currently it is possible to use Kogito operator to start and manage Kogito application images. These images however have to be built manually from Kogito project. You can take a look on quarkus-jvm.Dockerfile to see an example of Dockerfile used for image build. For more informations see https://github.com/kiegroup/kogito-cloud-operator#kubernetes-support

A capability to build Kogito image on Kubernetes environment is currently in development, tracked in KOGITO-1999.

I don't have much experience with OLM on Kobernetes, though I am not aware of anything what would block Kogito operator from being deployed on Kubernetes using OLM.

ricardozanini commented 4 years ago

Hi @rektide many thanks for reaching out.

@sutaakar already replied regarding our efforts on support "vanilla" Kubernetes.You should be able to use the operator with it's full capacity, but building custom services in the cluster, in the next version (estimated in about 2 weeks from now).

I'll try to add on top of the good answer gave by Karel:

What challenges would there be trying to build kogito-cloud-operator atop, for example, something like the Operator Lifecycle Manager?

I'm not sure if I understood your question. We already support OLM by default, you can see it on OpenShift Catalog. Unfortunately, up until the current version (0.10.0) you can only install it via OpenShift. On the next version you will see it on OperatorHub.io, meaning that you will be able to install it using OLM on Kubernetes as well.

What specifically does kogito-cloud-operator need openshift for?

In the beginning we used the BuildConfig resources to build custom Kogito services. That's the main reason. We are now working on add this support to Kubernetes as well. For the next version, 0.11.0, you will be able to deploy your custom Kogito Services images using the operator. On 0.12.0, hopefully you will be able to build the services there as well. To build your custom service, please see this link https://github.com/kiegroup/kogito-cloud-operator#kubernetes-support (pointed out by @sutaakar)

How feasible would it be to try to run any non-OpenShift specific parts of kogito-cloud-operator without OpenShift?

I'd say to wait for 0.11.0 to be released, since we introduce a new CR named KogitoRuntime to be able to deploy your custom services there, also we fixed some bugs that were happening when installing the operator on Kube. Data Index, Jobs Services and the other capabilities already run on Kube.

Reach me out if you have any further questions

ricardozanini commented 4 years ago

Hi @rektide, please see: https://operatorhub.io/operator/kogito-operator

Now you can use Kogito on any Kubernetes distribution out there. Please let me know if you have questions. :)