A cli to install simple and complex kubernetese cluster
Project description
🚀 Kubernetes Cluster Setup with Proxmox Integration (Python)
Welcome to k8s-proxmox-cluster, a streamlined solution for setting up Kubernetes clusters – whether simple or complex – with ease. This package automates the deployment process, starting from cloning virtual machines on a Proxmox server to bootstrapping a fully functional Kubernetes cluster. It's your go-to tool for quickly spinning up clusters for testing, development, or production environments. Whether you're a DevOps enthusiast or a systems engineer, this package handles the heavy lifting, so you can focus on what matters most: building and scaling your infrastructure.
✨ What does this package do?
With this package, you can automate the entire process of setting up Kubernetes clusters. It leverages Proxmox Virtual Environment as the virtualization platform and requires an Ubuntu 24.04 template to clone virtual machines.
Here’s what happens step by step:
- Clone Virtual Machines from your Proxmox server.
- Automatically install and configure all necessary components.
- Bootstrap your cluster – ready to go, whether it's a simple or complex setup.
🎯 Prerequisites
Before using this package, ensure you have the following:
- A Proxmox server with a configured Ubuntu 24.04 VM template (If you do not have one, check out my ProxmoxTemplates pkg, here you can creat one easily).
- A JSON configuration file containing Proxmox connection details (e.g., hostname, API token).
- A cluster setup configuration file:
- For simple setups: basic VM settings like name, CPU, and memory.
- For complex setups: additional details to tailor your Kubernetes environment.
🛠️ Simple vs. Complex Cluster Setups
With KubeCluster-Proxmox, you can choose between a simple or complex Kubernetes cluster setup depending on your needs.
Simple Cluster: A straightforward configuration with one master node and multiple worker nodes.
- Example configuration:
vm-simple-conf-example.jsonComplex Cluster: A high-availability (HA) setup featuring multiple master nodes and two load balancers configured with HAProxy and Keepalived to ensure redundancy and failover. - Example configuration:
vm-complex-conf-example.jsonIn both cases, a Proxmox connection configuration file (proxmox-conf-example.json) is required to interact with your - Proxmox environment. Simply fill out the provided example with your values.
📦 Installation
Install the package with pip:
pip install k8s-proxmox-cluster
🚀 Usage
for a simple setup:
simple-cluster-setup --proxmox-config <PATH_TO_YOUR_CONF_FILE> --vm-config <PATH_TO_YOUR_CONF_FILE>
for a complex setup:
complex-cluster-setup --proxmox-config <PATH_TO_YOUR_CONF_FILE> --vm-config <PATH_TO_YOUR_CONF_FILE>
🧹 Cleanup
If you need to delete the entire cluster, including all virtual machines, use the following command with the same configuration files:
cluster-cleanup --proxmox-config <PATH_TO_YOUR_CONF_FILE> --vm-config <PATH_TO_YOUR_CONF_FILE>
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file k8s_proxmox_cluster-0.1.70.tar.gz.
File metadata
- Download URL: k8s_proxmox_cluster-0.1.70.tar.gz
- Upload date:
- Size: 158.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a24c3dfb04788603926558f0b3b4778ad5757baea54d8a9f3677cb853242c44
|
|
| MD5 |
e0b776622adfa2d951f162cc3c512667
|
|
| BLAKE2b-256 |
ce881adcfc47a2d3fc502640586dc8af9234457845e5c60481b1a9626bb98e5a
|
File details
Details for the file k8s_proxmox_cluster-0.1.70-py3-none-any.whl.
File metadata
- Download URL: k8s_proxmox_cluster-0.1.70-py3-none-any.whl
- Upload date:
- Size: 175.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba93dd560381e97f5c96a51126a98c4b2fee3f69eea373496be0e73c65c636ff
|
|
| MD5 |
fbf33ebe33971a06f10be93416ae4074
|
|
| BLAKE2b-256 |
8beef9588f600a8066346db33f680312c58d329a591aec3985fa4336e9b02543
|