Kubernetes Dashboard

in #utopian-io7 years ago

People who are aware of Containerization, Docker, Container Orchestration would know what is 'Kubernetes'. This post is not about the Kubernetes itself but the open source github project 'Kubernetes Dashboard'. As the name suggests, it is a general purpose, web based UI for Kubernetes clusters. It allows users to manage applications running in the cluster and troubleshoot them, as well as manage the cluster itself. If you are not aware of Kubernetes, please read the following section.

Kubernetes

What is Kubernetes ?

Kubernetes is a system for managing containerized applications across a cluster of nodes. Kubernetes was designed to address the disconnect between the way that modern, clustered infrastructure is designed and some of the assumptions that most applications and services have about their environments. In simple words, Kubernetes is a powerful system for automating deployment, scaling and management of containerized applications.

It is developed by Google and the first release was in 2014. The project is in active development, there is a huge community driven activities. Kubernetes is written in 'Go' programming language.

More details about Kubernetes can be found here - https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/

About Kubernetes Dashboard

This is the main topic I wanted to bring-in more visibility. Since I'm a front-end developer, i'm interested in this project. I believe that there are many more developers here who can bring more value to the project. Kubernetes itself is a huge project and used heavily by tech gaints. Let us deep dive into what is Kubernetes Dashboard, what is the tech stack, development activities etc.

As mentioned earlier, Kubernetes Dashboard is a web based UI for Kubernetes clusters. It allows users to manage applications running in the cluster and troubleshoot them, and also manage the cluster itself.

Kubernetes
Source: github

Technology stack

The following technologies are used in the Kubernetes Dashboard.

  • Angular
  • D3
  • Babel
  • Gulp

The UI framework used here is Angular. D3 is used for displaying charts. Babel is a transpiler and Gulp is used as task runner. Test cases are run through Karma.

Dependencies

The following is the list of dependencies.

  • uirouter
  • Angular
  • d3
  • SASS
  • nvd3
  • Babel
  • Karma
  • Gulp
  • Roboto font
  • Webpack stream for using webpack inside gulp
  • ESLint

Prerequisite & Installation Guide

Make sure the following software is installed and added to the $PATH variable:

  • Docker 1.10+
  • Golang 1.8+
  • Node.js 8+ and npm 5+
  • Java 7+
  • Gulp.js 3.9+

Clone the repository and install the dependencies:

git clone [email protected]:kubernetes/dashboard.git

$ npm i

If you are running commands with root privileges set --unsafe-perm flag:

$ npm i --unsafe-perm

Run & view the app

Run the following command to compile and execute the Dashboard

$ gulp serve

The app will be running at localhost:9090, open it in your browser.

License

Kubernetes Dashboard is licensed under Apache License 2.0.

More information about Apache License can be found here.

Issues

While writing this article, there were about 98 open issues.

The issues are labelled, so that it is convienient to organize. There is a label 'good first issue' where someone new can look into and contribute. Other interesting label is 'help wanted'. The issues are also labelled based on size as 'size/L', 'size/M', 'size/XL'.

There are some issues on UX improvements and most of them are related to UI.

Development activities

The project was announces in mid 2014, the community adoption has been great. There is active development and issue resolutions, every day. The commits and merges are vibrant.

JavaScript is written in ES6 and CSS in SASS(.scss) file. Backend code is written in Go.

The commit frequency can be seen from the graph below.

Kubernetes
Source: github

Contributors

You can also become a contributor to this amazing project.

If you are planning to contribute then make sure to run tests before you raise a Pull Request.

Kubernetes
Source: github

Essential stats

Github Stars: 1619

Forks: 530

Contributors: 90

Files Break up based on language/type:

Kubernetes-Dashboard-Files

Github Repo

The github repo is https://github.com/kubernetes/dashboard

This post is essentially to draw attention of developers to this open source project. This is also a good project for students to learn and explore, eventually be part of open source community.



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Hi, Your contribution can't be approved. See the Utopian rules.

This category is meant only for providing a data analysis.
Next time you can make a Blog Post for this kind of Contribution

You can contact us on Discord.
[utopian-moderator]

@favcau then I can change the category now ?

No, changing to blog is not possible. Sorry.
You only can change to another category but not to blog.

The @OriginalWorks bot has determined this post by @lifecruiser to be original material and upvoted(1.5%) it!

ezgif.com-resize.gif

To call @OriginalWorks, simply reply to any post with @originalworks or !originalworks in your message!

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63267.39
ETH 2572.65
USDT 1.00
SBD 2.80