kalinkrustev / kubeapps

Super-charge your Kubernetes cluster

Home Page:https://kubeapps.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kubeapps

Build Status

Kubeapps is a set of tools written by Bitnami 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.

Quickstart

Kubeapps assumes a working Kubernetes cluster (v1.8+) and kubectl installed and configured to talk to your Kubernetes cluster. Kubeapps binaries are available for Linux, OS X and Windows, and Kubeapps has been tested with Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), minikube and Docker for Desktop Kubernetes. Kubeapps works on RBAC-enabled clusters and this configuration is encouraged for a more secure install.

On GKE, you must either be an "Owner" or have the "Container Engine Admin" role in order to install Kubeapps.

The simplest way to try Kubeapps is to deploy it with the Kubeapps Installer on minikube. Assuming you are using Linux or OS X, run the following commands to download and install the Kubeapps Installer binary:

curl -s https://api.github.com/repos/kubeapps/kubeapps/releases/latest | grep -i $(uname -s) | grep browser_download_url | cut -d '"' -f 4 | wget -i -
sudo mv kubeapps-$(uname -s| tr '[:upper:]' '[:lower:]')-amd64 /usr/local/bin/kubeapps
sudo chmod +x /usr/local/bin/kubeapps
kubeapps up
kubeapps dashboard

These commands will deploy Kubeapps in your cluster and launch a browser with the Kubeapps dashboard.

Dashboard login page

Access to the dashboard requires a Kubernetes API token to authenticate with the Kubernetes API server. Read the Access Control documentation for more information on configuring users for Kubeapps.

The following commands create a ServiceAccount and ClusterRoleBinding named kubeapps-operator which will enable the dashboard to authenticate and manage resources on the Kubernetes cluster:

kubectl create serviceaccount kubeapps-operator
kubectl create clusterrolebinding kubeapps-operator --clusterrole=cluster-admin --serviceaccount=default:kubeapps-operator

Use the following command to reveal the authorization token that should be used to authenticate the Kubeapps dashboard with the Kubernetes API:

kubectl get secret $(kubectl get serviceaccount kubeapps-operator -o jsonpath='{.secrets[].name}') -o jsonpath='{.data.token}' | base64 --decode

NOTE: It's not recommended to create cluster-admin users for Kubeapps. Please refer to the Access Control documentation to configure more fine-grained access.

Dashboard main page

To remove Kubeapps from your cluster, simply run:

kubeapps down

To delete the kubeapps-operator ServiceAccount and ClusterRoleBinding,

kubectl delete clusterrolebinding kubeapps-operator
kubectl delete serviceaccount kubeapps-operator

Installation

Get the latest release of Kubeapps Installer on the Github releases page.

Alternatively, when you have configured a proper Go environment (refer to the first two steps of Build from Source section), the latest Kubeapps Installer can be get-able from source:

go get github.com/kubeapps/kubeapps

Build from Source

The Kubeapps Installer is a CLI tool written in Go that will deploy the Kubeapps components into your cluster. You can build the latest Kubeapps Installer from source by following the steps below:

  • Visit the Go website, download the most recent binary distribution of Go and install it following the official instructions.

    The remainder of this section assumes that Go is installed in /usr/local/go. Update the paths in subsequent commands if you used a different location.

  • Set the Go environment variables:

    export GOPATH=$HOME/gopath
    export PATH=$GOPATH/bin:$PATH
  • Install kubeapps build dependencies:

    go get github.com/ksonnet/kubecfg
  • Create a working directory for the project:

    working_dir=$GOPATH/src/github.com/kubeapps/
    mkdir -p $working_dir
  • Clone the Kubeapps source repository:

    cd $working_dir
    git clone --recurse-submodules https://github.com/kubeapps/kubeapps
  • Build the Kubeapps binary and move it to a location in your path:

    cd kubeapps
    make kubeapps

Running tests

Run Go tests using make test. See dashboard documentation for information on running dashboard tests.

make test

Next Steps

Use the Kubeapps Dashboard to easily manage the deployments created by Helm in your cluster and to manage your Kubeless functions, or look under the hood to see what's included in Kubeapps.

In case of difficulties installing Kubeapps, find more detailed installation instructions.

For a more detailed and step-by-step introduction to Kubeapps, read our introductory walkthrough.

Useful Resources

About

Super-charge your Kubernetes cluster

https://kubeapps.com

License:Apache License 2.0


Languages

Language:TypeScript 42.1%Language:Go 28.7%Language:JavaScript 27.5%Language:CSS 0.7%Language:Shell 0.4%Language:Makefile 0.3%Language:HTML 0.3%