talltechdude.proxmox_k3os
constructeur de cluster K3os sur Proxmox
Crée un cluster K3os sur Proxmox
Exigences
Nécessite un cluster Proxmox existant avec le stockage et la mise en réseau appropriés, ainsi qu'une ISO K3os dans le dossier ISO
Variables de rôle
Voir defaults/main.yml
# Nom du fichier ISO
k3os_iso: "k3os-amd64"
# Jeton K3s utilisé pour tous les nœuds - veuillez remplacer par quelque chose de plus sûr !
k3os_token: "JetonSuperSecret"
# Emplacement pour les modèles (iso/snippets)
templates: "local"
# Chemin ISO (à remplacer si nécessaire)
pve_iso_path: "{{ (templates == 'local') | ternary('/var/lib/vz/template/iso', '/mnt/pve/{{ templates }}/template/iso') }}"
# Chemin pour les snippets (à remplacer si nécessaire)
pve_snippets_path: "{{ (templates == 'local') | ternary('/var/lib/vz/snippets', '/mnt/pve/{{ templates }}/snippets') }}"
# Emplacement pour le stockage des disques
storage: "local"
# Taille du disque local (Go)
disk_size: 10
# Nombre de sockets CPU
sockets: 1
# Mémoire par nœud (Mo)
memory: 1024
# Pont à utiliser pour la NIC
bridge: vmbr0
# VLAN à utiliser pour la NIC
vlan: 1
# Nom du cluster
cluster_name: k3os
# Emplacement pour stocker le fichier KubeConfig
kubeconfig_file: "{{ cluster_name | default ('') }}.kubeconfig.yaml"
# Ajouter KubeConfig avec konfig
konfig: true
# Définir des IPs statiques sur chaque nœud (force l'IP à la valeur ansible_host de l'inventaire)
static_ip: false
Dépendances
N/A
Exemples
Fichier des hôtes
[proxmox]
pve-01 ansible_host=10.0.0.31
pve-02 ansible_host=10.0.0.32
pve-03 ansible_host=10.0.0.33
[k3os_managers]
k3os-manager-01 ansible_host=10.0.0.11 pve_host=pve-01 vmid=701
k3os-manager-02 ansible_host=10.0.0.12 pve_host=pve-02 vmid=702
k3os-manager-03 ansible_host=10.0.0.13 pve_host=pve-03 vmid=703
[k3os_workers]
# Numérotation automatique des nœuds de travail - utilisez par exemple 01:06 pour 01, 02, 03, 04, 05, 06
k3os-[01:06] node_number="{{ inventory_hostname | regex_replace(\"^k3os-(\\d+)$\", \"\\1\") | int }}" ansible_host="10.0.0.{{ 20 + node_number | int }}" pve_host="{{ groups.proxmox[(node_number | int - 1) % (groups.proxmox | length)] }}" vmid="{{ node_number | int + 750 }}"
[k3os:children]
k3os_managers
k3os_workers
Playbook
- name: 'K3os | Installer'
hosts: k3os
gather_facts: false
roles:
- name: talltechdude.proxmox_k3os
vars:
iso_name: "k3os-amd64-{{ k3os_version }}"
cluster_name: "Exemple"
Licence
MIT
Informations sur l'auteur
TallTechDude