Skip to content

Manage Cluster Apps ​

Cluster Apps installs ready-made apps from a catalog into your Kubernetes Autopilot cluster, and shows the apps that run in it. You can install, inspect, upgrade and uninstall them from the cluster's detail page.

The apps run inside your cluster and use its capacity. You own them: you can manage them from this page or with any Kubernetes tool, such as helm, kubectl or Lens.

Cluster Apps and Marketplace ​

Both offer ready-made apps, but they work differently.

MarketplaceCluster Apps
Where the app runsOn the platform, managed for youInside your own Autopilot cluster
Who manages the appThe platformYou
BillingApp fee plus the resources it usesNot billed separately; you pay for the cluster size
Where to find itMarketplace menuApps section of the cluster detail page

Choose Marketplace when you want the platform to run the app for you. Choose Cluster Apps when the app belongs next to your own workloads, in a cluster you control.

Open the Apps section ​

  1. Open Kubernetes >> Autopilot and click the cluster name.
  2. In the cluster menu, open Apps:
    • Installed lists the apps that run in the cluster.
    • Catalog lists the apps you can install.

The cluster must be Running.

Catalog ​

AppCategoryWhat it does
CloudNativePGDatabaseOperator that runs and manages PostgreSQL clusters, with failover, backups and rolling updates.
KyvernoSecurityPolicy engine that validates, mutates and generates Kubernetes resources from declarative policies.
NGINX Ingress ControllerNetworkingIngress controller by F5 NGINX that routes HTTP and HTTPS traffic to Services in the cluster.
Percona Operator for MongoDBDatabaseOperator that runs Percona Server for MongoDB replica sets and sharded clusters, with backups and point-in-time recovery.
Percona Operator for MySQLDatabaseOperator that runs Percona XtraDB Cluster, a highly available MySQL with synchronous replication, backups and point-in-time recovery.
StrimziMessagingOperator that runs Apache Kafka clusters, topics and users through Kubernetes resources.
ValkeyDatabaseIn-memory key-value store, an open-source fork of Redis.

Each catalog entry uses a tested chart version and default values sized for small clusters. The catalog grows over time.

Install an app ​

  1. Open Apps >> Catalog and click Install on the app.
  2. Check the Release name and Namespace. Both are filled with the catalog defaults. The namespace is created if it does not exist.
  3. Optionally edit Values (YAML). The editor starts with the catalog's defaults. Your values override them; an empty editor uses the chart's own defaults.
  4. Click Check capacity. The platform renders the app with your values and checks it against your cluster, without installing anything.
  5. When the result says The app fits in this cluster, click Install. Install stays disabled until a check passes for the current inputs; if you change anything, check again.

The app's detail panel opens. Its workloads show Starting and then Ready as the pods start.

Only one install or upgrade runs at a time in a cluster. If another one is running, wait a moment and try again.

Capacity check results ​

A check that does not pass says The app cannot be installed as it is, with the reasons:

ReasonWhat to do
Not enough capacityA table shows, for each resource, what the app needs, what is available and how much is short, together with the smallest cluster size that fits. Click Resize cluster to enlarge the cluster, or lower the app's values (replicas, requests, limits).
Request above its limitA container asks for more than its limit allows. Set a limit at least as large as the request.
Resource values requiredA container has no CPU, memory or storage values and the cluster gives it no default. Set them in the values.
Pod SecurityThe app needs privileges that pods in an Autopilot cluster are not allowed, such as privileged mode or host paths. It cannot run in an Autopilot cluster.
Kubernetes versionThe app does not support the cluster's Kubernetes version. Upgrade the cluster if a supported version is available.
The chart cannot be renderedThe values are not valid for the app. The message shows the error.
Not enough room to uninstallThe app fits, but the cluster would have too little room left for the steps the app runs when it is uninstalled (for example removing its admission webhooks). Uninstalling would stall and leave parts behind. Resize the cluster to the suggested size, or lower the app's values.

A check that passes can still show warnings:

WarningMeaning
Little room for updatesThe app fits, but the cluster has too little room left for the extra pods a rolling update starts. A later update of the app may stop halfway until the cluster is larger.
Little room for autoscalingThe app's autoscalers cannot reach their maximum number of pods with the room left.
No quotaThe cluster has no capacity limits to check against, so capacity was not checked.

Operators such as CloudNativePG and Strimzi start more pods later, when you create a database or a Kafka cluster. Those pods are not part of the check; the result notes this. Leave room for them.

View installed apps ​

Apps >> Installed lists every app release in the cluster, with its namespace, chart and version, source, status, workloads and last update. Filter by namespace or search by name.

The Source column shows where an app came from:

  • Catalog: installed from the catalog.
  • Other: installed with another tool, such as helm or Lens. It is shown as it is.

Click an app's name to open its detail panel. It shows the chart and app version, status, revision, workloads, and the notes the app prints after installing. Open workloads in Explorer takes you to the app's pods and other objects.

Workload states ​

StateMeaning
ReadyAll the app's workloads have their pods ready.
StartingPods are still starting.
Needs attentionSome pods cannot start. The panel lists why, with the number of pods affected.

The reasons a pod cannot start are:

ReasonWhat to do
Waiting for cluster capacityThe cluster is full; the panel names the resource that ran out. Resize the cluster or reduce the app. The pods start on their own once there is room; you do not need to reinstall.
Waiting for platform capacityThe platform has no room for the pod right now. Contact your platform administrator.
Resource values requiredSet CPU, memory and storage values for the container.
Blocked by Pod SecurityThe pod needs privileges that are not allowed in an Autopilot cluster.
Storage pendingA volume of the pod is not ready yet.
Image cannot be pulledCheck the image name and registry access.
Crashing repeatedlyThe container keeps exiting. Check its logs in Explorer.
Configuration errorA ConfigMap, Secret or setting the container needs is missing or invalid.
Pods not createdThe workload could not create its pods, for example because a policy in the cluster rejected them.

Upgrade an app ​

When the catalog has a newer version of an app you installed from it, the list shows the new version next to the current one, with an upgrade button.

  1. Click the upgrade button in the list, or Upgrade in the app's detail panel.
  2. Edit the values if needed. The editor shows the app's current values; what you save replaces them, so a key you remove is removed.
  3. Click Check capacity. The check considers only what the change adds to what the app already uses.
  4. Click Upgrade.

You can also use Upgrade without a new version, to change the values of an app.

Only apps installed from the catalog can be upgraded here. If an upgrade fails, the app is returned to its previous revision.

Uninstall an app ​

  1. Click the delete button in the list, or Uninstall in the app's detail panel.
  2. Confirm.

The app and the objects it created are removed. Volumes the app created may be deleted too, depending on the app. The namespace stays; delete it from Cluster >> Namespaces if you no longer need it. Operators such as CloudNativePG, Strimzi and the Percona operators also leave their custom resource definitions (CRDs), and the resources you created with them, so your data is not deleted by accident.

If the cluster has filled up since the install and the app's uninstall steps cannot start, the uninstall is refused with The app cannot be uninstalled cleanly right now, the resources that are short, and the smallest cluster size that fits. Nothing is removed. Resize the cluster or free some room, then uninstall again.

Apps in the Kubernetes system namespaces (kube-system, kube-public, kube-node-lease) cannot be uninstalled here.

Billing ​

Cluster Apps are not billed separately. Your cluster is billed by its size, as described in Manage Kubernetes Cluster. An app uses part of that size; if it needs more, resize the cluster.

Limitations ​

  • Cluster Apps is available for Autopilot clusters. Clusters added to Explorer with a kubeconfig are not supported.
  • Apps are not given a public hostname. Reach them inside the cluster through their Services, or expose them yourself, for example with the NGINX Ingress Controller from the catalog. A public endpoint needs a reserved IP; set it in the controller's values as controller.service.loadBalancerIP. See Manage Kubernetes Cluster.