Skip to content

oslabs-beta/Asclepius

Repository files navigation

Asclepius

Kubernetes Cluster health monitoring tool

html5 html5

Tech Stack

React Redux Nodejs Express PostgreSQL JavaScript
Kubernetes html5 css3 Sass git Webpack D3

Introduction:

Asclepius is an open-source K8s node health monitoring service for local or cloud-deployed K8s clusters. Asclepius delivers a simplified dashboard of each K8s node’s health at a glance, with the option to select nodes and display the contained pod list with kubelet supplied data metrics. The Asclepius dashboard updates in near real time to ensure that as soon as any nodes show signs of going down, you and your team can respond accordingly.

How to use Asclepius:

Downloading the Source Code:

To get started with Asclepius, clone it onto your machine. After you've cloned the repository into the folder of your choice run:

npm install

After installing the required dependencies, you should be able to run the command:

npm start

This command will spin up the app and open a new page in your default browser; accessing "localhost:8080", where you should now see the Asclepius home page!

Once Asclepius is running in your browser, you have access to a button: "Render Node Map". From here, Asclepius makes it easy to connect either your local or cloud hosted cluster. Please follow the prompts and Asclepius will properly install required CLIs and apply any necessary configurations for you.

html5

Engineering Philosophy:

Asclepius was created to make the user experience of visualizing node health as seamless and abstracted as possible. We accomplish this by guiding you through a series of prompts designed to successfully add a Kubernetes config file to your local machine. Asclepius currently supports local and cloud-hosted Kubernetes deployments. If you are using a cloud platform not supported by Asclepius, please research the necessary steps to get a config file on your system. After this is accomplished, you should also be able to visualize your cluster health using the "Render Node Map" button.


Asclepius interacts with your local terminal through a Node.js method called "spawnSync". As the user works through the series of prompts and checks on the client side, we call spawnSync for a variety of functionality including: version checks, login authentication, configuration and kubectl metric retrieval queries.


How to Contribute

Branch management

Please submit any pull requests to the dev branch. All changes will be reviewed by the team before merging.

Bugs and suggestions

For help with existing issues, please read our GitHub issues page. If you cannot find a relevant topic in the issues page, please file a new issue. We welcome all suggestions and feedback!

Meet the Team

Asclepius was created by a development team under the OS-Labs open source tech accelerator.

Kola Bamgbose

Cameron Blair

John Norlin

Hugh Stapleton

Nick Vanderlinden


Current Version

Alpha: v0.1.0