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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file kubeleds-0.0.1.tar.gz.

File metadata

  • Download URL: kubeleds-0.0.1.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.3

File hashes

Hashes for kubeleds-0.0.1.tar.gz
Algorithm Hash digest
SHA256 ace56b10db1e2c675a123e200e1556c971d9f76c6123bc4db3ad07591d2989b5
MD5 de30e00bd878d0cf8e09e5d959683cd3
BLAKE2b-256 55f7163d53d451b29fd0ac393844201e1e5180167d7bf248fcc1c6e0839c8fb6

See more details on using hashes here.

File details

Details for the file kubeleds-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: kubeleds-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.3

File hashes

Hashes for kubeleds-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3cd26d9392c8f5ffd04fe67e3dd1d2b488ae15211681cc0d9e32ba7ec7ed7f5b
MD5 534d17f7b435f99f08620bf01c86a924
BLAKE2b-256 ef771af67949e55eda19a9f6a35d38b18794d9713a9339b872a21341d630909a

See more details on using hashes here.

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