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.
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:
[table id=1 /]
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.
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.
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:
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.
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.
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.
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.
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.
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.
Looking for help with your cloud native journey? do check out how we’re helping startups & enterprises with our cloud native consulting services and capabilities to achieve the cloud native transformation.