Skip to content

marks-5/k8s-status-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

K8s-Status-Dashboard

K8s-Status-Dashboard is a reporting system used as part of monitoring Kubernetes Clusters.

K8s-Status-Dashboard collects and dynamically reports on the status of the health of a cluster as well as various resources such as components (scheduler, controller-manager, etcd), nodes and namespaces.

K8s-Status-Dashboard is light weight and does not require a data-store but can be easily integrated with a database if necessary.

Pre-requisites

  • kubectl: This is the cli for controlling the Kubernetes cluster. See here.
  • docker: Some steps require commands to be run inside a docker container. Installation instructions can be found here.
  • node: Some steps require commands to be run inside a docker container. Binaries can be found here. Installation instructions can be found here.
  • helm: This is used to deploy the K8s-Status-Dashboard via helm (aka helm charts) into a cluster. See here.
  • auth0: Authentication requires auth0. Create an account for free. See here.

NOTE: Make sure you are using the context you want to deploy to.

Running K8s-Status-Dashboard on Kubernetes

K8s-Status-Dashboard can run on a Kubernetes cluster. This is useful and effective when wanting to monitor more than one cluster.

To run K8s-Status-Dashboard on a Kubernetes cluster using helm:

```
$ git clone https://github.com/DigitalInnovation/k8s-status-dashboard.git
$ cd k8s-status-dashboard/app
$ docker build -t <owner/repository>:<version> .
$ docker push <owner/repository>:<version>
$ populate <name>, <base64-encoded-crt>, <base64-encoded-key>, <auth0-client-id> and <auth0-secret> in manifests/secrets.template.yaml
$ kubectl create -f manifests/secrets.template.yaml --namespace=k8s-dashboard-green
```

NOTE: Configure helm values by setting properties at runtime;

  • cluster: <cluster-name>

  • namespace: <namespace-name>

  • config:

  • host: <host-name>

  • image:

  • dockerImage: <owner/repository>

  • dockerTag: <version>

  • dockerPort: <port>

  • pullSecret: <pull-secret-name>

  • ingress

  • name: <ingress-name>

    $ helm upgrade k8s-status-dashboard --install "./manifests/helm/k8s-status-dashboard" --set cluster=<cluster-name> --set namespace=<namespace-name> --set config.host=<host-name> --set config.auth0Domain=<auth0-domain> --set config.auth0CallbackUrl=<auth0-callbacl-url> --set dockerImage=<docker-image> --set dockerTag=<docker-image-tag>  --set dockerPort=<docker-port> --set image.pullSecret=<pull-secret-name>  --set ingress.name=<ingress-name>
    

Running K8s-Status-Dashboard Locally

K8s-Status-Dashboard can run locally.

To run K8s-Status-Dashboard locally:

```
$ git clone https://github.com/DigitalInnovation/k8s-status-dashboard.git 
$ cd k8s-status-dashboard/app/src/public       
$ npm i
$ cd k8s-status-dashboard/app
$ npm i
$ bash local-dev/exec-local.sh
$ node server.js
```

Go to localhost (http://127.0.0.1) in a browser of your choice

NOTE: COMING SOON

Running K8s-Status-Dashboard Using Docker

K8s-Status-Dashboard can be run using docker.

To run K8s-Status-Dashboard using docker:

```
$ git clone https://github.com/DigitalInnovation/k8s-status-dashboard.git 
$ git checkout docker-k8s-status-dashboard
$ cd k8s-status-dashboard  
```
  • Configure environmental variables in local-dev/exec.sh to suit your environment.

    $ bash local-dev/exec.sh
    

Go to localhost (http://127.0.0.1) in a browser of your choice

Environment variables

The image recognizes the following environment variables that you can set during initialization by passing -e VAR=VALUE to the Docker run command.

Variable name Description
CLIENT_KEY Client Key used as part of authenticating against a Kubernetes cluster.
CLIENT_CRT Client Cert as part of authenticating against a Kubernetes cluster.
HOST Kubernetes Host used for master. NOTE: Can be retrieved using kubectl cluster-info
AUTH0_CLIENT_ID Client ID used as part of authenticating against Auth0. See here
AUTH0_DOMAIN Domain used as part of authenticating against Auth0. See here
AUTH0_CALLBACK_URL Redirect a user back to k8s-status-dashboard using Callback URL. See here
AUTH0_SECRET Secret used as part of authenticating against Auth0. See here
AUDIENCE Port used to run k8s-status-dashboard. See here
PORT Port used to run k8s-status-dashboard

License

This project is licensed under the MIT License. See the LICENSE file for more info.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published