What’s up in Rancher 2.0

Rancher 2.0 Launched

Rancher recently announced the tech preview of the platform version 2.0. Rancher has not only proven to be a great platform to run multiple orchestrators but also provides an intuitive way to run multiple Kubernetes environments, and all this through a single pane of glass. The latest version of platform enhances quite a few things and adds additional capabilities to seamlessly integrate multiple environments in a single umbrella. You can check out the release announcement here.

Clusters and Environments

One of the major changes is the way environments and clusters are structured. Environments, as they were earlier know are now subset of cluster object in Rancher. It is important to understand the nomenclature here before we discuss those more:

 Before Rancher 2Rancher 2
EnvironmentsAbstraction for a pool of VMsNamespace in a Kubernetes cluster
ClustersNAAbstraction for a pool of VMs

So as a user you will first create a cluster and add the pool of VMs to it. Then you can create environments within the cluster, which is mapped to the namespace in the Kubernetes cluster.

Rancher_cluster_env

Some key points to note about clusters and environments:

  • Kube-system environment is the kube-system namespace in Kubernetes which has all Kubernetes system containers.
  • A namespace called cattle-system is created which hosts all Rancher services containers but is not directly visible as an environment in Rancher console. You can notice it in the Kubernetes dashboard.
  • Even if you create a new environment, it may not be created in Kubernetes until you create an object (Such as a container) in that environment. (Lazy creation)

This is a great change overall as it enables you to map things in a very clear and clean manner. The RBAC features currently are not enabled but potentially in future releases, it will be visible and might be closely mapped to Kubernetes RBAC at namespace (environment) level. One thing which is not clear ATM is what happens to kube-public namespace as that was not visible as a Rancher environment.

Adding External Kubernetes Cluster

This is probably one of biggest rockstar changes overall – the ability to add an existing Kubernetes cluster and manage and visualize in the same Rancher console. I added a GKE cluster to the Rancher and I could manage it as seamlessly as clusters created by Rancher. In addition to existing apps being visible, the application from Rancher catalogs could be deployed as well to the GKE cluster.  You can add any Kubernetes cluster and make it part of Rancher:Rancher_add_cluster

Rollback – History for Everything

My second favorite feature is the rollback and it is possible because Rancher maintains a history of every change. For example, I added a label to my Redis container and then decided to rollback as shown below. The rollback also exactly tells you what will change, and this is super cool IMO. At some point, it would be nice to mix this with some RBAC.

redis rollback

Host templates

Before 2.0 adding hosts to Rancher was fairly manual process through UI. This release makes it far more intelligent – you can create a host as usual and it will create a template out of it for next time. No more entering all fields, just choose the template and launch more. I am not sure if the configure button works fully ATM as it took me to a custom host addition window as of this writing.

rancher_add_hosts

One thing you have to note about hosts addition is that you can add hosts only in a cluster created in Rancher. For an imported cluster, add hosts button is obviously disabled. It would be nice to have cloud integration and host addition capability for imported clusters but there are obvious details such as providing credentials and access to cloud provider API.

Kubernetes App Catalog is Back

I personally liked the app catalog in previous versions but it had disappeared for Kubernetes orchestrator in favor of Helm. The app catalog is re-launched now and documentation states support for Helm charts as well. Although I could not relate to how it will work with helm chart, we will have to wait for a few releases to see the details.

app_catalog

UI Relaunched

As you already might have noticed from previous screenshots, the UI breathes a fresh air and is a great improvement over the previous one. Features such as table sorting, collapsible sections make for great usability as well.

Conclusion

Rancher is a great platform for managing multiple orchestration clusters across clouds. The tech preview does not indicate how Swarm and DCOS will fit in and has some areas which are still WIP. Also, all the good features from the previous release have been retained such as kubectl shell console in browser, single page views at host and container level etc.  Overall this is a great step in providing a single pane of glass for all of your Kubernetes clusters in a seamless manner and we have covered only the key parts in this post. If you have any questions on Rancher/Kubernetes and Cloud Native Computing in general, don’t hesitate to reach out to us at info @ infracloud.io and on twitter at InfracloudIO

Vishal Biyani

Vishal Biyani has worked across the whole spectrum of SDLC from developing code to deploying code and supporting customer. Vishal's roles have spanned from being a consultant to Fortune 500 companies to hands on platform building for Internet scale companies. Vishal is a DevOps practitioner, likes to work in Agile environments with a focus on Test Driven Development. Vishal's interests span continuous delivery, Kubernetes, containers and security. Before founding InfraCloud he worked in companies like HCL and AudienceScience building multiple Cloud and DevOps solutions.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

Enjoy this blog? Please spread the word :)