Difficulty: intermediate
Estimated Time: 20-30 minutes


Learn how to deploy services in multiple clusters in different data centers, regions, or clouds with Kubernetes KubeFed.


  • Deploying container images on multiple clusters
  • KubeFed Kubernetes cluster federation API
  • OpenShift Projects and Applications

Use case

You can deploy an application and distribute its components on multiple, federated clusters.

These OpenShift clusters will self-destruct in one hour.

Congratulations! You just finished learning the basics on OpenShift Container Platform Federation. Feels good doesn't it?

If you are curious enough, see the official repo where you can find the most updated information about federation.

We also have the federation-dev repository with demos, labs and examples of the use of KubeFed.

What's next?

At this point you are probably itching to keep working with OpenShift as you have had a glimpse of the power this can bring to your own applications. We are currently working on more advanced tutorials that will be hosted here but in the meantime, you can certainly run your own version of OpenShift or use a hosted model. You are welcome to use one of the following options:


Minishift is a complete OpenShift environment which you can run on your local machine. The project supports Windows, OS X, and the Linux operating system. To find more about minishift, visit http://www.openshift.org/vm

oc cluster up

oc cluster up is a command provided by the oc client tool. It configures and runs an openshift environment inside of the native docker system for your operating system. It supports Windows, OS X, and the Linux operating systems. For more information, visit https://docs.okd.io/latest/getting_started/administrators.html

If you decide to try out oc cluster up, and you should, I would also suggest that you take a look at a wrapper script that was created to make life a little bit easier for you called oc cluster wrapper. This wrapper provides functionality such as the ability to have different profiles, persistent volume management and other great features. You can find more information at the official git repository at https://github.com/openshift-evangelists/oc-cluster-wrapper

OpenShift Online

The OpenShift team provides a hosted environment which includes a free starter plan which you can use to develop and test applications for OpenShift. You can find details for OpenShift Online and sign up at https://www.openshift.com/pricing/index.html

OpenShift Dedicated

You can also let Red Hat host an OpenShift instance for you on a public cloud. This is an ideal scenario for larger teams that do not want to deal with the operational aspects of running a full environment. To find out more, visit https://www.openshift.com/dedicated/

Getting Started With Kubefed

Step 1 of 6

Step 1 - Introducing Kubefed

KubeFed is a Kubernetes Operator that provides tools for managing applications and services through multiple Kubernetes clusters.

KubeFed allows users to:

  • Distribute workloads across registered clusters

  • Program DNS with information about those workloads

  • Dynamically adjust replicas in the different clusters a workload is deployed in

  • Provide disaster recovery for those workloads

As KubeFed matures, we expect to add features related to storage management, workload placement, etc.

KubeFed takes advantage of new mechanisms in order to extend the Kubernetes API and provide an easy interface for users to interconnect their Kubernetes clusters without having to deal with network latencies, etcd requirements, etc.

The KubeFed control plane is composed of an Operator running on one of the federated clusters. This Operator is in charge of some CRDs which will be discussed later on in this course.

Concept Definition
Host Cluster A cluster which is used to expose the KubeFed API and run the KubeFed Control Plane
Member Cluster A cluster which is registered with the KubeFed API and that KubeFed controllers have authentication credentials for. The Host Cluster can also be a Member Cluster.
Terminal Host 2