Kubernetes Dashboard
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.
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.
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.
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.
Source: github
Essential stats
Github Stars: 1619
Forks: 530
Contributors: 90
Files Break up based on language/type:
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
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.
@OriginalWorks
The @OriginalWorks bot has determined this post by @lifecruiser to be original material and upvoted(1.5%) it!
To call @OriginalWorks, simply reply to any post with @originalworks or !originalworks in your message!