Kubernetes is the recommended way to manage containers in production. To make it even easier to work with Kubernetes, Bitnami offers Kubeapps, a set of tools to super-charge your Kubernetes cluster with:
- Your own application dashboard, allowing you to deploy Kubernetes-ready applications into your cluster with a single click.
- Kubeless, a Kubernetes-native Serverless Framework, compatible with serverless.com.
- SealedSecrets, a way to encrypt a Secret into a SealedSecret, which is safe to store… even for a public repository.
Kubeapps binaries are available for both Linux and OS X, and Kubeapps has been tested with both minikube and Google Kubernetes Engine (GKE).
This guide explains how to install and get started with Kubeapps using the Bitnami Kubernetes Sandbox. The Bitnami Kubernetes Sandbox provides a complete development environment for containerized applications. It includes ready-to-run versions of a Kubernetes cluster, together with local volume provisioner, Helm, Ingress controller and Kubernetes Dashboard to offer as close to a production cluster as possible without any configuration pains.
Assumptions and prerequisites
This guide assumes that you have:
- A deployed instance of the Bitnami Kubernetes Sandbox with Kubernetes v1.8.4+. Learn how to deploy instances in our deployment guides.
- A locally installed copy of kubectl. Learn about installing kubectl.
Although this guide uses the Bitnami Kubernetes Sandbox, Kubeapps can be used with any Kubernetes (v1.8.4+) cluster with RBAC enabled following the steps outlined in this guide.
|NOTE: On GKE, you must either be an "Owner" or have the "Container Engine Admin" role in order to install Kubeapps.|
Step 1: Configure kubectl to work with the Bitnami Kubernetes Sandbox
The first step is to configure your locally installed copy of kubectl to communicate with the Bitnami Kubernetes Sandbox. Follow these steps:
- Connect to the Bitnami Kubernetes Sandbox using SFTP.
- Download the /etc/kubernetes/admin.conf file to your local system.
Edit the downloaded file and update the server variable to reflect the public IP address of the running Bitnami Kubernetes Sandbox instance.
... - cluster server: https://SERVER-IP:6443 ...
Move the downloaded file to ~/.kube/sandbox.conf:
$ sudo mv admin.conf ~/.kube/sandbox.conf
Set the KUBECONFIG environment variable to reflect the new configuration file:
$ export KUBECONFIG=~/.kube/sandbox.conf
Your locally installed copy of kubectl should now be configured to use the Bitnami Kubernetes Sandbox. Verify this by executing kubectl cluster-info and checking the output.
Step 2: Install Kubeapps
To install Kubeapps, follow these steps on your local system:
Download a binary version of the latest Kubeapps Installer, copy it to a location in your system path and make it executable. The Kubeapps Installer is currently available in binary form for OS X and Linux.
For a Linux system, use these commands:
$ curl -s https://api.github.com/repos/kubeapps/kubeapps/releases/latest | grep linux | grep browser_download_url | cut -d '"' -f 4 | wget -i - $ sudo mv kubeapps-linux-amd64 /usr/local/bin/kubeapps $ sudo chmod +x /usr/local/bin/kubeapps
For an OS X system, use these commands instead:
$ curl -s https://api.github.com/repos/kubeapps/kubeapps/releases/latest | grep darwin | grep browser_download_url | cut -d '"' -f 4 | wget -i - $ sudo mv kubeapps-darwin-amd64 /usr/local/bin/kubeapps $ sudo chmod +x /usr/local/bin/kubeapps
Deploy Kubeapps with this command:
$ kubeapps up
You should see something like this as Kubeapps is deployed:
It may take a few minutes for all Kubeapps services to start. You can check the status of the deployment using the command below:
$ kubectl get all --all-namespaces -l created-by=kubeapps
Proceed to the next step only after confirming that all Kubeapps services have successfully started.
Step 3: Start the Kubeapps Dashboard
Once all Kubeapps services are running, securely access the Kubeapps Dashboard from your system by running:
$ kubeapps dashboard
This will start an HTTP proxy on port 8002 for secure access to the Kubeapps Dashboard and launch your browser to connect to it. You can also access the Kubeapps Dashboard by browsing to http://localhost:8002. Here's what you should see:
Step 4: Deploy an application with Kubeapps
Once you have the Kubeapps Dashboard up and running, you can start deploying applications into your cluster.
Start with the Dashboard welcome page:
Use the "Charts" menu to select an application from the list of charts in the official Kubernetes chart repository. This example assumes you want to deploy MariaDB.
Click the "Install" button. You will be prompted for the cluster namespace in which the application should be deployed.
Click the "Deploy" button. The application will be deployed. You will be able to track the new Kubernetes deployment directly from the browser.
The "Notes" section of the deployment page contains important information to help you use the application, including how to obtain the MariaDB credentials.
Your application is now deployed and running in your cluster.
|TIP: To remove a deployment, click the "Delete deployment" button on the deployment detail page. To remove Kubeapps from the cluster, execute the command kubeapps down.|
To learn more about the topics discussed in this guide, visit the links below: