a simply library to orchestrate local kubernetes clusters from python
Project description
KubiPy - Orchestrate Kubernetes from Python
KubiPy helps you to manage your local Kubernetes Cluster fully from Python. It provides an interface to Minikube and allows you to setup and manage a cluster without leaving Python. This is immensively helpful to enable local testing. You can install the library via pip: pip install kubipy
.
Usage
KubiPy provides a standard Python interface to the setup process of your local Kubernetes cluster. KubiPy provides the minipy()
class. Once initiated this class is the core of all your operations. While running these commands you will need your sudo password, so keep it close by.
# initiate the class
cluster = minipy()
# install minikube
cluster.install()
# start the cluster
cluster.start()
# open the dashboard
cluster.dashboard()
# stop the cluster
cluster.stop()
# delete minikube
cluster.delete()
Dependencies
Minikube depends on numerous components to run. The provision and configuration of these components is handled by KubiPy. However, you should be aware of what happens.
- KubiPy installs a driver that is needed to host a Kubernetes cluster on your machine. KubiPy uses VirtualBox to do so.
- KubiPy relies on the Kubernetes-CLI
kubectl
. This is installed using the package managerHomebrew
for macOS. - KubiPy of course relies on
Minikube
. This is installed viaHomebrew
as well.
Stage of Development
KubiPy is under active development and supports currently only macOS. At the moment KubiPy provides the necessary functionalities to setup, start and shut down Minikube on your local machine. The functions include:
install()
start()
stop()
dashboard()
delete()
Next Steps
Version 0.2
- Extend to Ubuntu 19.10 & 18.04
- Extend to CentOS 7 & 8
Version 0.3
- Kubectl config management
- Minikube project creation
- Minikube project management
- Docker container creation
Version 1.0
- API deployment to minikube
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.