Skip to main content

Kubernetes cluster orchestrator

Project description

https://travis-ci.org/Mirantis/kqueen.svg?branch=master https://badge.fury.io/py/kqueen.svg https://coveralls.io/repos/github/Mirantis/kqueen/badge.svg?branch=master https://readthedocs.org/projects/kqueen/badge/?version=master

Overview

More information about KQueen Architecture and use cases is described in RATIONALE file.

Development

  • Bootstrap kqueen environment
mkvirtualenv -p /usr/bin/python3 kqueen
pip3 install -e ".[dev]"
pip3 install --editable .
# start etcd in container
docker-compose up -d # start
kqueen
  • Clean etcd storage and prepare examples

devenv.py will create few objects to provides basic developer environment. It will also try to download kubeconfig file for real cluster but it requires access to Mirantis VPN. However, it can be workarounded by creating file kubeconfig_remote in repository root and this file will be used instead of downloading it.

etcdctl rm --recursive /kqueen
./devenv.py
  • Run flask shell
export FLASK_APP=kqueen.server
export prometheus_multiproc_dir=$(mktemp -d)
flask shell
  • Test access token with curl
TOKEN=$(curl -s -H "Content-Type: application/json" --data '{"username":"admin","password":"default"}' -X POST localhost:5000/api/v1/auth | jq -r '.access_token'); echo $TOKEN; curl -H "Authorization: Bearer $TOKEN" localhost:5000/api/v1/clusters

Demo environment

  • Make sure you can reach Jenkins server defined in JENKINS_API_URL variable in file kqueen/config/prod.py.
  • Run these commands to run Kqueen API and UI in containers.
docker-compose -f docker-compose.yml -f docker-compose.demo.yml up
  • You can login using user admin and password default. Default username and password can be changed in docker-compose.demo.yml file before first start of API.

Configuration

We load configuration from file config/dev.py by default and this can be configured by KQUEEN_CONFIG_FILE environment variable. Any environment variable matching name KQUEEN_* will be loaded and saved to configuration.

Documentation

For full documenation please refer to kqueen.readthedocs.io.

DEMOs

Generic KQueen Overview

https://img.youtube.com/vi/PCAwCxPQc2A/0.jpg

AKS (Azure) in KQueen

https://img.youtube.com/vi/xHydnJGcs2k/0.jpg

Project details


Download files

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

Files for kqueen, version 0.15
Filename, size File type Python version Upload date Hashes
Filename, size kqueen-0.15.tar.gz (39.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page