CAEPE

Managing clusters and cluster groups

You can follow the steps in the following demo video or follow the the instructions in the following sections to use the various CAEPE features.

This guide shows you how to manage clusters and cluster groups from the CAEPE account portal. You can access the configuration section from the Configuration -> Clusters menu item.

Info

Clusters represent Kubernetes instances connected to your CAEPE account, and cluster groups are logical groups of clusters.

Viewing clusters

Screenshot of cluster list configuration page

You can see the clusters associated with your account in the center of the page.

You can switch the view of the clusters between a "list" and "grid" view and filter the clusters by clicking the Filters button. You can filter by cluster name, status, and type.

Each entry in the list or grid shows the cluster's name, status, type, environment, and infrastructure. For every cluster in the list, click the copy icon to copy the cluster's connection details, the pencil icon to edit the cluster, or the wastebasket icon to delete it.

Cluster details

Screenshot of cluster detail page

Click the View Cluster link next to any cluster to see more details about the cluster. The Cluster Information tab shows:

  • Recommendations scan statuses: the status and time of the last cluster, workload, and security scans, and of the last workload optimization scan. See Day-2 Ops.
  • The cluster type, environment type, infrastructure type, cluster groups, and schedule.
  • Cost & Resource Monitoring: whether cost monitoring is enabled for the cluster.
  • Snapshot Location(s) used by the cluster.
  • Associated Deployment(s) on the cluster.

The Audit Logs tab lists the changes made to the cluster.

From the details page you can also:

  • Click Copy Connection to copy the cluster's connection details.
  • Click Associate Schedule to add the cluster to a schedule.
  • Edit or delete the cluster.

Viewing cluster groups

Screenshot of cluster groups list configuration page

Click the Cluster Groups tab to see the cluster groups associated with your account.

You can switch the view of the cluster groups between a "list" and "grid" view and filter the cluster groups by clicking the Filters button. You can filter by cluster group name, status, and association.

Connect to live cluster

Info

By default, only HTTPS connection is allowed.

Warning

To minimize deployment issues, we recommend that the clusters you connect to CAEPE are new and unused, as clusters with previously deployed apps via other methods may cause errors.

Connect a cluster by clicking the New Cluster button.

Only for Google GKE cluster connection

GKE clusters can only be done via the kubectl method, refer to Connect GKE cluster via kubectl for info

You can connect to a currently live cluster. Click Connect to Live Cluster button, and click Next

In the form that appears, set a name and description for the cluster and a region.

Set the cluster type based on where the cluster is running. CAEPE supports clusters running on multiple Kubernetes providers, including:

  • Amazon EKS
  • Azure AKS
  • Google GKE
  • Lightweight Kubernetes (K3s) running on private clusters and on-premises
  • Kubernetes running on private clusters and on-premises
  • OCI Container Engine for Kubernetes
  • Rancher Kubernetes engine

Set the environment type based on how you intend to use the cluster. The options are:

  • Development
  • Production
  • QA
  • Staging
  • Smoke test
  • UAT
  • Others

Set the infrastructure type based on how the cluster is hosted. The options are:

  • Edge
  • On-Prem
  • Cloud
  • Airgapped

Screenshot of live cluster creation form

Click Next.

Kubeconfig

For the connection details you can connect by uploading a kube config file for the cluster

Kubectl for GKE K8s/K3s

This section explains how to connect a Google Kubernetes Engine (GKE) K8s or K3s cluster to CAEPE using kubectl

Connect a GKE K8s cluster via kubectl

Prerequisites

Before starting, ensure you have the following:

  • Kubeconfig file from DevOps
  • WSL (Windows Subsystem for Linux)
  • kubectl CLI is installed in WSL – verify with kubectl -h
  1. Complete the form, ensure - Cluster Type: K8s-Kubernetes is selected and click Next.

  2. Select Kubectl, then click Next.

  3. Click Connect Cluster.

  4. Copy the generated curl command displayed after creation.

    Connect Cluster Form Placeholder

  5. Run the curl command copied from Step 4, but save it to a file first:

    curl <cluster-creation-command> > agent1.yml
    
  6. Apply the configuration file:

    KUBECONFIG=./kubeconfig kubectl apply -f agent1.yml
    
  7. Wait for the cluster to appear as Healthy in the CAEPE. You can also verify manually:

    kubectl get pods -n caepe-system
    

    Once connected:

    • The GKE cluster appears under Clusters in CAEPE with status Healthy.
    • Applications can be deployed and monitored directly through the Web App.

Connect a GKE K3s cluster via kubectl

Prerequisites

Before starting, ensure you have the following:

  • PEM file: ARM-K3S-Node_key.pem (provided by DevOps)
  • SSH credentials
  1. Complete the form, ensure - Cluster Type: K3s-Lightweight Kubernetes is selected and click Next.

  2. Select Kubectl, then click Next.

  3. Click Connect Cluster.

  4. Copy the generated curl command displayed after creation.

    Connect Cluster Form Placeholder

  5. Connect to the target node via SSH using the following command:

    ssh -i $PATH_TO_PEM_FILE azureuser@<node-ip>
    
  6. Switch to root:

    sudo -i
    
  7. Navigate to the working directory.

  8. Use the copied curl command and modify it to save output to a file:

    # Replace this:
    # | kubectl apply -f -
    # With this:
    curl <cluster-creation-command> > agent1.yml
    
  9. Verify the file was created successfully and with valid content:

    cat agent1.yml
    
  10. Apply the configuration using the relevant K3s kubeconfig:

    KUBECONFIG=./kubeconfig-arm-1.yaml kubectl apply -f agent1.yml
    
  11. Wait for the cluster to appear as Healthy in the CAEPE Web App. You can also check directly from the node:

    kubectl get nodes
    kubectl get pods --all-namespaces
    

    Deploy a test application (e.g., Webshop) from the CAEPE Web App to confirm successful connection and workload deployment

Build and connect a live cluster

Screenshot of build cluster creation form

If you choose the Build cluster and connect option, the creation form shows the various options for building a cluster, these are:

  • Run a shell script
  • An Ansible playbook
  • A Terraform definition file
  • An AWS CloudFormation template
  • An Azure Cloud Resource Manager template
  • A GCP Deployment Manager template

Screenshot of build cluster creation form

After selecting the build method, in the next step add a name and description for the cluster and the cluster, environment, and infrastructure type. You can also watch the cluster for changes and use a notification integration to send notifications when the cluster state changes.

Screenshot of build cluster creation form

Select the snapshot location or create a new snapshot location

Screenshot of build cluster creation form

Use the next section to add playbooks to run on creation and teardown of a cluster. This example uses Anisble. You host these scripts in repositories defined in the Application source -> Repositories section and they should contain the appropriate resource type to match the build option you selected.

Screenshot of build cluster creation form

Info

You need an SSH credential defined to use and execute the playbook scripts.

After creation steps

When you create a cluster you can add it to a logical grouping of clusters. You can select a pre-existing group, or create a new one.

Info

If you add the cluster to a pre-existing group that has an application defined for it, CAEPE automatically deploys that application to the new cluster.

Note

Smoke test clusters can't be added to cluster groups. To change an existing cluster's environment type to Smoke test, first remove it from all cluster groups. A smoke test cluster also needs a snapshot location.

You can also turn on Cost Monitoring for the cluster. Cost Monitoring collects cluster usage data so that you can track resource consumption and see cost insights on the Day-2 Ops page, in Cost Summary. When you turn it on, CAEPE installs Prometheus and OpenCost on the cluster to collect the data. You can also turn it on later, see Turn on cost monitoring for an existing cluster.

When the Pods are ready, the cluster shows in the list with a "Healthy" state.

Info

There are a few reasons a cluster remains in an "unhealthy" state.

It could be network connectivity, such as changes to firewall rules or network changes at the cluster. It could be a cluster issue, such as a cluster down for maintenance, due to problems, or the cluster has been deleted but not removed from Caepe, etc.

Turn on cost monitoring for an existing cluster

Cost Monitoring collects usage data from a cluster so that you can see its costs in Cost Summary on the Day-2 Ops page. When you turn it on, CAEPE installs Prometheus and OpenCost on the cluster to collect the data.

To turn it on for a cluster you have already connected:

  1. Select Clusters in the CAEPE menu.
  2. Click View Cluster next to the cluster, then click Edit. The Edit Cluster page opens at the Basic Information step.
  3. Click Next to go to the Add-Ons step.
  4. Turn on the Cost Monitoring switch.
  5. Click Save Changes at the top of the page.

Screenshot of the Add-Ons step of the Edit Cluster page, with Cost Monitoring turned on

To check whether a cluster has cost monitoring, open it from Clusters and look at Cost & Resource Monitoring on the cluster details page. It shows Enabled or Disabled.

Note

Cost figures are not available straight away. Cost Summary shows data once Prometheus and OpenCost are running on the cluster and have collected usage data.

Create a cluster group

Create a cluster group by clicking the New Cluster Group button.

Screenshot of cluster group creation form

In the form that appears, set a name and description for the cluster group and select the clusters to add to the group. You can select a pre-existing cluster, or create a new one.