oracleinstall-use-kubeapps

Install and Use Kubeapps with the Bitnami Kubernetes Sandbox

Introduction

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:

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:

    Kubeapps deployment

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:

[![Kubeapps Dashboard welcome page](/images/img/how_to_guides/install-use-kubeapps/install-use-kubeapps-2.png)](/images/img/how_to_guides/install-use-kubeapps/install-use-kubeapps-2.png)

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:

    Kubeapps Dashboard

  • 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.

    MariaDB deployment

  • Click the “Install” button. You will be prompted for the cluster namespace in which the application should be deployed.

    MariaDB namespace

  • Click the “Deploy” button. The application will be deployed. You will be able to track the new Kubernetes deployment directly from the browser.

    MariaDB deployment

    The “Notes” section of the deployment page contains important information to help you use the application, including how to obtain the MariaDB credentials.

    MariaDB deployment notes

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: