Closed kompetenzlandkarte closed 2 years ago
@kompetenzlandkarte we have a work in progress effort to support Kubernetes on the 2.x branch. This branch has no releases (only pre-releases), so in order to use that you'd need to specify --tag
and quite possibly use the syndesis
script attached to one of the 2.x pre-releases (if you're not already using that).
Hey I cloned the latest tag 2.0.0-20210331
and executed:
~/syndesis/tools/bin/syndesis build -m operator --image --docker --registry "registry.private.tld"
it built and pushed the operator to my registry successfully.
then I executed:
~/syndesis/tools/bin/syndesis install --dev --custom-resource ~/.syndesis/share/custom-resources/hostname-cr.yml
I am still getting this error:
Deploying Syndesis operator
I0331 14:40:26.988441 2473098 request.go:621] Throttling request took 1.037156402s, request: GET:https://k8s:6443/apis/networking.k8s.io/v1?timeout=32s
Waiting for syndesis-operator to be scaled to 1
NAME READY STATUS RESTARTS AGE
syndesis-operator-569687ff9b-fvzbt 1/1 Terminating 0 7m57s
syndesis-operator-569687ff9b-fvzbt 1/1 Terminating 0 7m57s
error: the server doesn't have a resource type "dc"
Sleeping 10s ...
syndesis-operator-569687ff9b-fvzbt 0/1 Terminating 0 7m58s
syndesis-operator-569687ff9b-fvzbt 0/1 Terminating 0 7m59s
syndesis-operator-569687ff9b-fvzbt 0/1 Terminating 0 7m59s
syndesis-operator-79fffbd4c-9jfh5 0/1 Pending 0 0s
syndesis-operator-79fffbd4c-9jfh5 0/1 Pending 0 0s
syndesis-operator-79fffbd4c-9jfh5 0/1 Init:0/1 0 0s
Other questions:
so in order to use that you'd need to specify
--tag
If I specify a --tag it does not uses my custom build image but rather the one from Docker Hub.
and quite possibly use the
syndesis
script attached to one of the 2.x pre-releases
you mean syndesis-cli.zip
, right?
Do I have to specify the tag elsewhere?
The tools/bin/syndesis script is to make the process easier, but as you are using a vanilla k8s, then I suggest to work with the syndesis-operator binary directly.
For the mentioned error, edit the https://github.com/syndesisio/syndesis/blob/2.x/tools/bin/commands/util/client_funcs#L275 and remove the dc object, as it exists only for openshift. And for the 2.x branch, there are no DeploymentConfig objects anymore.
If you are building the syndesis-operator, you can use it directly to install onto k8s, with
# add the CRD and other cluster wide objects, requires admin privileges
syndesis-operator install cluster
# grant permissions/roles/etc to the k8s user
syndesis-operator grant -u kubeadmin
# install the syndesis-operator deploy and pods
# you can use --dev parameter to create imagestreams, so later you can push your own syndesis-* images to the registry
# then you can monitor with kubectl get pods -w
# if syndesis-operator fails, you can inspect with "kubectl describe <pod>" then look at the events section
syndesis-operator install operator
# install syndesis CR
syndesis-operator install app --custom-resource <your custom resource file>
Hey @claudio4j,
thank you for your summary. With these steps I can create the application successfully (maybe this should be added to the docs).
However I can't publish integrations. I get this error if I press on publish
:
2021-04-06 11:09:01.596 INFO 1 --- [on Controller-0] i.s.s.c.i.BaseIntegrationController : Integration i-MXarFPhshQoIgMqBD6gz:2 : Desired status "Published" != current status "Unpublished" --> calling status change handler
2021-04-06 11:09:01.596 INFO 1 --- [on Controller-0] i.s.s.c.i.BaseIntegrationController : IntegrationDeploymentId i-MXarFPhshQoIgMqBD6gz:2 Integration i-MXarFPhshQoIgMqBD6gz : Start processing integration: i-MXarFPhshQoIgMqBD6gz, version: 2 with handler: PublishHandler
2021-04-06 11:09:01.606 ERROR 1 --- [on Controller-0] i.s.s.c.i.BaseIntegrationController : Error while processing integration status for integration i-MXarFPhshQoIgMqBD6gz:2
io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: GET at: https://kubernetes.default.svc/apis/build.openshift.io/v1/namespaces/syndesis/builds?labelSelector=openshift.io%2Fbuild-config.name%3Di-pmx2sheet&fieldSelector=status%3DRunning. Message: 404 page not found
.
at io.fabric8.kubernetes.client.dsl.base.OperationSupport.requestFailure(OperationSupport.java:568) ~[kubernetes-client-4.9.0.jar!/:na]
at io.fabric8.kubernetes.client.dsl.base.OperationSupport.assertResponseCode(OperationSupport.java:507) ~[kubernetes-client-4.9.0.jar!/:na]
at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:471) ~[kubernetes-client-4.9.0.jar!/:na]
at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:430) ~[kubernetes-client-4.9.0.jar!/:na]
at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:412) ~[kubernetes-client-4.9.0.jar!/:na]
at io.fabric8.kubernetes.client.dsl.base.BaseOperation.listRequestHelper(BaseOperation.java:151) ~[kubernetes-client-4.9.0.jar!/:na]
at io.fabric8.kubernetes.client.dsl.base.BaseOperation.list(BaseOperation.java:621) ~[kubernetes-client-4.9.0.jar!/:na]
at io.fabric8.kubernetes.client.dsl.base.BaseOperation.list(BaseOperation.java:70) ~[kubernetes-client-4.9.0.jar!/:na]
at io.syndesis.server.openshift.OpenShiftServiceImpl.checkBuildStatus(OpenShiftServiceImpl.java:228) ~[server-openshift-2.0.0-20210406.jar!/:2.0.0-20210406]
at io.syndesis.server.openshift.OpenShiftServiceImpl.isBuildStarted(OpenShiftServiceImpl.java:215) ~[server-openshift-2.0.0-20210406.jar!/:2.0.0-20210406]
at io.syndesis.server.controller.integration.online.PublishHandler.isBuildStarted(PublishHandler.java:198) ~[server-controller-2.0.0-20210406.jar!/:2.0.0-20210406]
at io.syndesis.server.controller.integration.online.PublishHandler.execute(PublishHandler.java:84) ~[server-controller-2.0.0-20210406.jar!/:2.0.0-20210406]
at io.syndesis.server.controller.StateChangeHandler.execute(StateChangeHandler.java:33) ~[server-controller-2.0.0-20210406.jar!/:2.0.0-20210406]
at io.syndesis.server.controller.integration.BaseIntegrationController.lambda$callStateChangeHandler$8(BaseIntegrationController.java:213) ~[server-controller-2.0.0-20210406.jar!/:2.0.0-20210406]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_201]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_201]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_201]
Is there any way to run integrations on kubernetes? Maybe via the operator?
Thank you.
Unfortunately at this point, the 2.x branch has limited plain kubernetes support. Syndesis creates DeploymentConfig and ImageStreams objects (for integrations) which doesn´t exist in plain kubernetes. That said, syndesis 2.x is unable to create integrations on plain k8s.
I am seeing forward to this feature 😄. Until then I'll have to switch back to OKD.
@kompetenzlandkarte you can try the (rather old) version of Camel K runtime with Syndesis 2.x. There should be a CamelK
key in Addons
that can be Enabled: true
in the Syndesis custom resource. With this some of integration types are not fully supported. AFAIK Integrations using API Provider and WebHook connectors.
You can also either ignore the error from OpenShiftServiceImpl
or you can disable the service by setting openshift.enabled=true
Java system property via Components.Server.JavaOptions
on the Syndesis CR (or OPENSHIFT_ENABLED=false
environment variable on the syndesis-server
Pod).
@zregvart I just tried this approach. But sadly I can't upload new extensions if Camel-K Addon is active. I want to access an Oracle DB via JDBC.
Thank you.
@zregvart I just tried this approach. But sadly I can't upload new extensions if Camel-K Addon is active. I want to access an Oracle DB via JDBC.
Yes, extensions are not supported with Camel K, the architecture is vastly different.
This issue has been automatically marked as stale because it has not had any activity since 90 days. It will be closed if no further activity occurs within 7 days. Thank you for your contributions!
Im also interested in trying this out, but we're on managed cloud k8s, is there a timeline for plain k8s support at all?
@michaelandrepearce unfortunately there is no plan for syndesis to work on plain kubernetes.
This issue has been automatically marked as stale because it has not had any activity since 90 days. It will be closed if no further activity occurs within 7 days. Thank you for your contributions!
This is a...
Description
Hey,
I am following the Syndesis on Minikube guide and after I have built the operator and executed
${SYNDESIS} kube secrets
I was struggling with creating volumes due to running on vanilla kubernetes and not minikube (so I skipped this step).On execution of
I get this error:
error: the server doesn't have a resource type "dc"
. Isn't it a resource definition for OpenShift? So it won't run on Kubernetes, right?Am I missing something in the installation process? The operator deploys successfully onto the cluster.
Thank you.