Configuration
Customize your k8s-provisioner cluster
k8s-provisioner uses two configuration files:
config.yaml
Main configuration file for Kubernetes and components.
cluster:
name: "k8s-lab"
pod_cidr: "10.244.0.0/16"
service_cidr: "10.96.0.0/12"
versions:
kubernetes: "1.32"
crio: "v1.32"
calico: "3.28.0"
metallb: "0.14.8"
istio: "1.28.2"
network:
interface: "eth1"
controlplane_ip: "192.168.56.10"
metallb_range: "192.168.56.200-192.168.56.250"
storage:
nfs_server: "storage"
nfs_path: "/exports/k8s-volumes"
nodes:
- name: "storage"
role: "storage"
- name: "controlplane"
role: "controlplane"
- name: "node01"
role: "worker"
- name: "node02"
role: "worker"
components:
cni: "calico"
load_balancer: "metallb"
service_mesh: "istio"
monitoring: "prometheus-stack"
logging: "loki"
vagrant/settings.yaml
VM configuration for VirtualBox.
box_name: "bento/debian-12"
vm:
- name: "storage"
ip: "192.168.56.20"
memory: "2048"
cpus: "1"
role: "storage"
- name: "controlplane"
ip: "192.168.56.10"
memory: "4096"
cpus: "2"
role: "controlplane"
- name: "node01"
ip: "192.168.56.11"
memory: "4096"
cpus: "2"
role: "worker"
- name: "node02"
ip: "192.168.56.12"
memory: "4096"
cpus: "2"
role: "worker"