Clusters

A Cluster is a collection of Host Groups. While Host Groups are typically pools of similar resources, like VMs created from the same template, Clusters can be used to aggregate hetrogeneous resources and can even span Cloud Providers. This organization makes it possible to combine static and elastic resource pools, and leverage the Cluster as a natural grouping for policy management. For each cluster, you can specify a container orchestrator. The currently supported container orchestrators are:

  1. Nirmata
  2. Kubernetes

Nirmata cluster

When a cluster is created with Nirmata as the container orchestrator, scheduling and deployment of containers is performed by Nirmata. In this scenario, there is no need to deploy and operate a separate container orchestrator.

Create a Nirmata cluster

To create a Nirmata cluster

  1. Go to the Clusters panel and click on the Add Cluster button.
  2. Select Nirmata as the Container Orchestrator.
_images/create-nirmata-cluster-1.png
  1. Provide the cluster name and add host groups that you would like to be part of the cluster.
_images/create-nirmata-cluster-2.png
  1. Click on Create Cluster to create the cluster

Kubernetes cluster

You can use an existing Kubernetes cluster with Nirmata or create a new Kubernetes cluster from scratch. Once the Kubernetes cluster is created and onboarded in to Nirmata, you can monitor and manager your cluster as well as deploy applications to your cluster.

Use existing Kubernetes cluster

To use an existing Kubernetes cluster with Nirmata

  1. Go to the Clusters panel and click on the Add Cluster button.
  2. Select Kubernetes as the Container Orchestrator and on the next page select: Yes - I have already installed Kubernetes
_images/create-kubernetes-cluster-1.png _images/create-kubernetes-cluster-2.png
  1. Provide the cluster name and select the provider for your cluster. Leave the provider as Other in case your cluster provider is not in the list.
_images/create-kuberenetes-cluster-disc-1.png
  1. Follow the displayed instructions to install the Nirmata Kubernetes controller and click on button confirming the installation.
_images/create-kuberenetes-cluster-disc-2.png
  1. Within a few seconds, the controller should connect and the cluster state will show as Connected.
_images/create-kuberenetes-cluster-disc-3.png

Once the cluster is in Ready state, you can create a Resource Selection Rule and deploy Environments to this cluster.

Note: Only Kubernetes versions 1.6.6 and above are currently supported.

Create a new Kubernetes cluster

To create a new Kubernetes cluster from scratch using Nirmata

  1. Go to the Clusters panel and click on the Add Cluster button.
  2. Select Kubernetes as the Container Orchestrator and on the next page select: No - Install and manage Kubernetes for me
_images/create-kubernetes-cluster-1.png _images/create-kubernetes-cluster-ins-1.png
  1. Provide the cluster name and add host groups that you would like to install the cluster on. Also select the master nodes. Click on Create cluster and start the installaction button to proceed with the cluster install.
_images/create-kubernetes-cluster-ins-2.png
  1. Within a few minutes, the cluster will be deployed, the Nirmata controller should connect and the cluster state will show as Connected.
_images/create-kubernetes-cluster-ins-3.png

Once the cluster is deployed and in Ready state, you can create a Resource Selection Rule and deploy Environments to this cluster.

Monitor Kubernetes cluster

Once the cluster is in Ready state, Nirmata collects and displays all the information necessary to monitor the cluster. To view cluster information, click on the cluster card. For each cluster, the following information is displayed:

  1. Cluster Availability
  2. Alarms
  3. User Activity
  4. Statistics
  5. Node State
  6. Cluster Objects such as Pods, Volumes, Namespaces etc.

Additional information for each of the above can be found by click on the respective link/panel.

Manage Pods

You can view all the pods deployed in the cluster along with their state. You can also perform the following operations on each pod:

  1. View Details - Lets you view the pod YAML
  2. View Log - Lets you view the logs for any container in the pod
  3. Launch Terminal - Lets you launch the terminal on any container in the pod to execute commands