Openstack and Rook/Ceph Cluster.
This repository contains scripts to automate the creation of a 4-node Kubernetes cluster on Proxmox VE. It is specifically designed for running Rook/Ceph as the storage backend and supports multi-bridge network setups (e.g., vmbr1199 and vmbr2199).
π§© Features
- Automated VM creation and configuration via Proxmox CLI
- Support for multi-network interfaces (Kolla-Ansible compatibility)
- Prepares nodes for Kubespray-based Kubernetes installation
- Ready for Rook-Ceph deployment
- Generates
globals.ymlandpasswords.ymlfor Kolla-Ansible - Automatically integrates Ceph credentials and configuration
- Supports VM template creation from Ubuntu 24.04 Cloud image
π¦ Requirements
- A working Proxmox VE hypervisor
- Internet access on the host machine to download images and tools
- Proxmox CLI access (run as
root) cloud-initinstalled on the guest image- VM Template ID to clone from
π Usage
1. Clone this repository
git clone https://github.com/senolcolak/proxmox-k8s4rook.git
cd proxmox-k8s4rook2. Create a cloud-init ready VM template (only once)
βοΈ This will create a VM template (ID 4444 by default) based on Ubuntu 24.04 Cloud image.
3. Deploy 4-node cluster from the template
./install-k8s.sh <TEMPLATE_ID> <START_VM_ID> <IP_RANGE>
Example:
./install-k8s.sh 4444 5001 10.1.99.121-10.1.99.124
The script will automatically create VMs with:
- 2 interfaces:
vmbr99(default) andvmbr2199- Cloud-init config for each node
- SSH key injection (you can modify this)
- Hostname and static IP configuration
π Ceph / Rook Integration
If you have an existing Rook-Ceph cluster:
- The script will ask for the IP/DNS of the Rook-Ceph toolbox host
- It will fetch
ceph.confand relevant keyrings - These will be placed under
/etc/kolla/config/cinder,glance,swift, etc. - You can modify the behavior in the script to suit your environment
π οΈ Output Files
globals.yml: Pre-generated for Kolla-Ansible customizationpasswords.yml: Auto-generated secure password file- VM Configurations stored in Proxmox VMDB
- Ceph credentials copied under correct config directories
β οΈ Notes
- Tested with Ubuntu 24.04 and Proxmox 7.x
- Ensure
vmbr1199andvmbr2199are correctly configured on your Proxmox host - Make sure cloud-init and SSH keys are functional in the template
- Script assumes 4-node setup, but can be modified easily for more
π License
MIT License
π€ Author
Created by Εenol Γolak β Kubedo
π¬ Contributions
Pull requests and suggestions are welcome! Feel free to fork and enhance for your custom use cases.