Skip to main content

monitor kubernetes clusters using adafruit neopixels

Project description

kubeleds

Monitor your kubernetes clusters using NeoPixel LEDS!

Hardware

Raspberry PI (any model that supports GPIO)

Currently using a Raspberry PI 4b 2GB. Preparing a Raspberry PI Zero W

NeoPixel LED Strips, 12mm Diffussed bulbs

alt text

alt text

alt text

Usage

  1. cd into project directory.

  2. Create a virtual environment.

$ make venv
  1. Activate it.
$ source venv/bin/activate
  1. Install development dependencies with editable mode to test the CLI.
$ make install

Take kubeleds for a spin

This will basic command line functionality

$ kubeledscli init

This will retrieve node status and set the leds base off of status of each node, testing each status condition (ready, cpu, memory, disk)

$ kubeledscli get_cluster_nodes '[api fqdn]' \
    '[your token]' 'True' 'get_cluster_nodes' \
    'set_leds' 'get_cluster_nodes' 'Ready' \
    'set_leds' 'get_cluster_nodes' 'MemoryPressure' \
    'set_leds' 'get_cluster_nodes' 'DiskPressure' \
    'set_leds' 'get_cluster_nodes' 'PIDPressure' \
    'set_leds' 'get_cluster_nodes' 'Ready' \

The above commands will retrieve cluster node status and set an led frame per status condition, 1 led per node.

GREEN: Node Ready BLUE: CPU Good CYAN: Memory good Purple: Disk Good

Test with Docker

CLI commands can be tested with Docker.

  1. Build an image for the CLI.

    Image is tagged with the same name as the cli_command.

$ make docker-image
  1. Run the command inside the container.
$ docker-run --rm kubeledscli init

Documentation

  1. Install documentation-related dependencies.
$ make docs
  1. Serve the docs locally.
$ make serve-docs

Distribution

NOTE

Make sure you have account in PyPI before you try this out.

To publish you CLI to PyPI, run:

$ make distributions

dist directory will be created inside your project directory. Upload it to PyPI using:

$ twine dist/*

Help

For help related to make commands.

$ make help

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kubeleds-0.0.1.tar.gz (6.8 kB view hashes)

Uploaded Source

Built Distribution

kubeleds-0.0.1-py3-none-any.whl (10.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page