For over a year now I’ve been working together with Andres on the Kubeapps project at VMware and have made various videos of new features that we’ve worked on, but I’ve never stepped back to give an overview and answer the more general question, “What is Kubeapps?” and show how those features work towards a single goal.
The goal of Kubeapps is to help users and operators install and manage applications on Kubernetes and the following features work together to achieve this goal:
Simple configuration of app catalogs for your users
When you install Kubeapps on your cluster, your users will login to see a catalog of apps which they can install into any namespace on the Kubernetes cluster to which they have the required permissions. By default this catalog will be the free Bitnami Application Catalog which is kept up-to-date with the latest security fixes by VMware:
Custom app catalogs
That said, with a simple configuration change it can just as easily include a private catalog of charts specifically built on top of your organisations' chosen base image using VMware Tanzu Application Catalog.
A cluster operator can also update the access-control for certain users so that those users can add other catalogs in a specific namespace, available only to users of that namespace. This can even include private applications from private catalogs if you choose to configure the required secrets to pull your private images. Users of the namespace can simply install the private app from the catalog and the required secrets will be configured automatically as part of their deployment.
Operator support
Additionally, a cluster operator can enable the display and installation of Kubernetes operators in the catalog. The following view shows the catalog filtered to display only operators providing database apps.
Easy self-service installation of apps by users
To ensure that users of an app catalog on Kubeapps can install their applications without being overwhelmed by the myriad of options that are typically available, Kubeapps presents a simple form with only the options that the Helm chart author determined to be most relevant. The following screenshot shows the options presented to a user when installing Postgresql:
Self-service updates and maintenance
Once applications have been installed by users, Kubeapps will ensure they are aware when a new version of an app is available with the latest security fixes.
Users can reconfigure an app at any time, upgrade to a newer version or roll back to a previous version.
Multi-cluster support
Finally, Kubeapps enables you, the cluster operator, to configure your Kubeapps installation so that your users can install and manage applications across multiple Kubernetes clusters, not just the cluster on which Kubeapps is installed. You can see this in action in this short demo:
or you can also read more in our multi-cluster documentation or browse the specific details required to setup Kubeapps with multi-cluster support on a specific Kubernetes environment - VMware Tanzu Kubernetes Grid.
That’s it! If you think I’ve missed an important Kubeapps feature or you have questions about any of the above, you can leave a comment or join us on the kubeapps channel on Kubernetes slack.