Multi cluster environment

32 views
Skip to first unread message

Devlin

unread,
Jul 19, 2017, 4:50:48 PM7/19/17
to fabric8
Iḿ starting to test fabric8 and the functionality that it provides OOTB its great when used inside a Kubernetes cluster, but its not clear to me how to manage the funcionalities (pipelines, deployments, ...) when there are multiple Kubernetes cluster involved, if it is even possible at all. At first glance when you create a new environment from the console there is a property for the cluster URL which seems to indicate that you can link to a different cluster but I haven't have any success using it and didn't find any documentation on how I should proceed or even if this property really means what I think that it means, maybe it's only applicable in some cases like federated clusters?

I have seen some questions and GitHub issues regarding similar scenarios, such as having a production and test clusters completely independent, but they are still open or doesn't seem to get to a conclusion. So I would like to know if it is possible to apply fabric8 to build something with multiple cluster or If it will be too much hassle and is better to look for other solutions.

James Strachan

unread,
Jul 20, 2017, 8:54:52 AM7/20/17
to Devlin, fabric8
On 19 July 2017 at 21:50, Devlin <dgo...@gmail.com> wrote:
Iḿ starting to test fabric8 and the functionality that it provides OOTB its great when used inside a Kubernetes cluster, but its not clear to me how to manage the funcionalities (pipelines, deployments, ...) when there are multiple Kubernetes cluster involved, if it is even possible at all.

We're using fabric8 to create and release fabric8 plus we also use it for CI / CD for the live hosted service at https://openshift.io which uses different clusters for production (one cluster for shared services and another, OpenShift Online for tenant services).

So we can definitely use fabric8 across many clusters; though it all depends on how things are configured and on whats OOTB.

Right now to deploy to different clusters we've been using different Jenkinsfiles in projects; though longer term we'd love to be able to let folks just configure their environments (in the fabric8-environments ConfigMap) and have the pipelines automatically do the right thing. 

 
At first glance when you create a new environment from the console there is a property for the cluster URL which seems to indicate that you can link to a different cluster but I haven't have any success using it and didn't find any documentation on how I should proceed or even if this property really means what I think that it means, maybe it's only applicable in some cases like federated clusters?

We've just not updated the pipelines yet to respect the cluster URL :) Apologies. Its on our TODO list.

We were also hoping one day cluster federation might make all this much easier; so that tools could just pretend its all just one cluster; but thats a little way off I think. So until thenit would be nice for the pipelines to automatically be able to deploy to multiple environments on different clusters. We'd just need a way to get the secrets to get tokens to use the remote APIs.
 

I have seen some questions and GitHub issues regarding similar scenarios, such as having a production and test clusters completely independent, but they are still open or doesn't seem to get to a conclusion. So I would like to know if it is possible to apply fabric8 to build something with multiple cluster or If it will be too much hassle and is better to look for other solutions.

Unfortunately today it requires custom Jenkinsfiles; but its our hope to automate multi-cluster too - as we see separate (and sometimes multiple) production clusters as being quite common

--
James
-------
Red Hat

Twitter: @jstrachan
Email: james.s...@gmail.com
Blog: https://medium.com/@jstrachan/

open source development platform

open source event based lambda programming
Reply all
Reply to author
Forward
0 new messages