This is documentation for Apprenda 7 and 8.
Documentation for older versions are also available.

Manage Clusters

Manage Clusters

As of Platform version 8.2.0, you can add, manage, or remove a Kubernetes cluster through the Infrastructure>Clusters page in the SOC. In previous Platform versions, clusters are managed through the Infrastructure>Clouds page of the SOC.

View Clusters

From the Infrastructure>Clusters page in the SOC, you can view all the clusters that have been attached to your Platform. As of Platform version 8.2.0, you can attach multiple Kubernetes clusters to the same Cloud, providing you with a single operational portal for managing all the clusters that exist in your organization. See more about multi-cluster support.

For each Cluster the following information is displayed:

  • Name of the cluster
  • URL of the cluster
  • Kubernetes Version running on the cluster
  • The Memory and CPU allocated and available on the Cluster
  • The Cloud the cluster is attached to. A Cloud can have multiple clusters attached (as of Platform version 8.2.0), but a cluster should only be attached to one cloud
  • The Number(#) of Servers in the cluster

Attach a Cluster

To attach a cluster, click the Attach Cluster button on the Clusters page of the SOC. Before adding a cluster, make sure it meets the minimum requirements, or it will fail Platform validation.

In the Attach a Kubernetes Cluster window,

  1. select a Cloud to attach the cluster. The drop down will display all Clouds in your Platform. This cannot be changed once the cluster is attached. The Cloud you choose will will determine the URLs of the applications that are deployed to this cluster.

  2. fill in the Cluster Name. This name is used to identify the cluster on the Platform and can only contain numbers, letters, "-", ".", "~", or "_"

  3. fill in a Cluster Namespace the Platform should deploy applications to on the clusters. If the Namespace does not already exist, the Platform will create it on the cluster when it is added to the Platform. See more about the Platform Namespace on a cluster.

  4. fill in the full URL for the cluster. Include http:// or https:// and the port to the Kubernetes API server (default 6443)

  5. select a Display Color. The color you choose appears on the Infrastructure>Serves page to indicate which servers belong to this cluster. 

  6. select the Authentication Mode and fill in the corresponding authentication information. See more about choosing an Authentication Mode for a cluster
    • Username/Password: Provide user credentials for a user the Platform Cluster Manager will use to authenticate with when making a request to the Kubernetes API server
    • Client Certificate: Upload a X.509 certificates signed by a Certificate Authority that is trusted by the Kubernetes API server and the corresponding certificate password
  7. provide a comma separated list of host names or IP addresses of cluster nodes to use as Gateway Nodes. The Platform will route traffic through these nodes to the rest of the nodes on the cluster and must be able to reach nodes provided in this window. Its recommended that you add at least 2 gateway nodes to handle traffic and for high availability. See more about how gateway nodes are used by the Platform

  8. fill in the Heapster URL. Heapster provides monitoring and performance analysis of containers. The Platform uses it (when provided) to gather utilization statistics for Pods running on the cluster. If you do not set up Heapter and provide an URL here, the Platform won’t be able to access an resource information to display in the SOC

Click Save after entering all the information about your cluster (or Cancel to not attach the cluster). After saving, the Platform will begin to run some validation on your cluster to make sure it meets the requirements.

When validation is complete, you will be redirect to a page that displays how your cluster performed. The Platform will add the cluster information even if validation doesn’t succeed, however the cluster must pass validation before the Platform can properly manage or deploy workloads to it. If you have trouble passing validation, make sure all inputs are correct and the cluster meets the minimum requirements, then re-run validation.

Edit a Cluster

After attaching a Kubernetes cluster to a Cloud, you are able to edit information about a cluster it by clicking the Edit button next to the corresponding cluster name in the Infrastructure> Clusters page.

This will open the Kubernetes cluster editor window where you can update the following cluster information: Cluster Name, URL, Authentication Mode and corresponding inputs, nodes to use as Gateway Nodes, and the Heapster URL.

You are not able to change the Cloud the cluster is attached to or the Namespace for the cluster.

Click Save when all changes have been made (or Cancel to not edit any information). After saving, the Platform will begin to run some validation on your cluster to make sure it meets the minimum requirements.

When validation is complete, you will be redirect to a page that displays how your cluster performed. Note that the Platform will update the cluster with the new information even if validation does not succeed. The cluster must pass validation before the Platform can properly manage or deploy workloads to it. If you have trouble passing validation, make sure all inputs are correct and re-run validation.

Validate a Cluster

All clusters must be validated by the Platform to make sure the provided cluster information is correct and the Platform can access the parts of the cluster its needs to manage deployments. Cluster validation is run by default when a cluster is attached to the Platform or edited on Platform, but its recommended to manually run validation if the cluster is changed outside of the Platform.

To run Platform validation on your cluster, click on the down arrow icon next to Edit for the cluster you want to validate and then click Validate.

When validation is complete, you will be redirected to a report on how your cluster performed.

View and Manage a Cluster’s Custom Properties

As of Apprenda 8.2.0, you can apply Custom Properties to Kubernetes clusters. In previous Platform versions, Custom Properties could only be applied to Pods to help manage Kubernetes workloads. By adding Custom Properties to clusters, you can use Application Deployment Policies to manage scheduling Kubernetes components that are deployed on the Platform.

To view Custom Properties assigned to a cluster, click on the down arrow icon next to Edit for the cluster you want to view the properties for and click View Custom Properties.

Remove a Cluster

You can remove a Kubernetes cluster from your Platform through the Clusters page by clicking on the Remove action on the cluster’s drop-down menu.

The Platform will not undeploy Kubernetes components on the cluster before the cluster is removed from the Platform. If you are planning to continue using the cluster after it is removed, you must manually undeploy Platform workloads from the cluster or delete the namespace. If you want to re-attach a removed cluster, you should reuse the same Namespace.

Removing a cluster does not remove any Pod instances running on the cluster from Platform records. Instead, the Platform will mark any instance that was still running on that cluster as undeployed and may trigger new deployments of the Kubernetes component to another cluster to meet minimum instance counts. If you also do not want the Platform to try to deploy Pods that were running on a removed cluster, you must also scale down the application or delete it from the Platform.