Python interface for Minikube
Project description
KubiPy - macOS Python manager for Minikube
KubiPy helps you to manage Minikube clusters on macOS, all without leaving Python. It provides an interface to Minikube and allows you to setup and manage a cluster. This is immensively helpful to enable local testing of Python applications, before shipping them to a fully-fledged Kubernetes Cluster. This way, you generate a local Kubernetes test environment in a matter of minutes.
The KubiPy interface allows you to not only install Minikube and all components, but also coordinates and sporns all components.
Usage
KubiPy is available on PyPi as kubipy
. So you can run your regular pip
command.
pip install kubipy
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()
# deploy an API
cluster.deploy(script_file = "api.py",
requirements_file = "requirements.txt",
port = "8000",
deployment_name = "my-deployment")
# 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 needs a container technology to containerize scripts. To do so, KubiPy installs Docker.
- 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()
status()
deploy()
get_pods()
get_services()
get_deployments()
delete_object()
delete()
Next Steps
Version 1.0
- Minikube project management
- Minikube service management
- Docker image creation
- Docker image pushing
- API deployment to minikube
Version 2.0
- Linux Support: CentOS, Ubuntu, Debian
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.