Some checks failed
CD - Deploy Infrastructure / Terraform Validation (push) Failing after 8s
CD - Deploy Infrastructure / Deploy on pve1 (push) Has been skipped
CD - Deploy Infrastructure / Deploy on pve2 (push) Has been skipped
CD - Deploy Infrastructure / Deploy on pve3 (push) Has been skipped
CD - Deploy Infrastructure / Validate K3s Cluster (push) Has been skipped
CD - Deploy Infrastructure / Deployment Notification (push) Failing after 1s
- Créer script Python pour gérer les ressources DRBD avant déploiement
* Vérifie l'existence des ressources Linstor
* Crée les ressources si nécessaire avec réplication
* Augmente la taille si elle est insuffisante
* Noms fixes: pm-a7f3c8e1 (VMID 1000) et pm-b4d2f9a3 (VMID 1001)
- Modifier workflow CI/CD pour intégrer le script Python
* Ajouter étape de configuration SSH avec secret LINSTOR_SSH_PRIVATE_KEY
* Exécuter le script avant tofu apply sur pve1 et pve2
- Corriger configuration Terraform des VMs
* Ajouter vga { type = "std" } pour Standard VGA sur toutes les VMs
* Ajouter cpu { type = "host" } pour meilleure performance
* Ajouter replace_triggered_by pour détecter les changements de config
* Ajouter force_create = true sur pve3 pour gérer VM existante
- Résoudre problèmes identifiés
* "No Bootable Device" - Résolu avec Standard VGA et CPU host
* "vmId already in use" - Résolu avec force_create sur etcd-witness
* Détection des modifications de VM - Résolu avec replace_triggered_by
Documentation SSH créée dans cicd_backup/SETUP_SSH_LINSTOR.md
69 lines
1.4 KiB
HCL
69 lines
1.4 KiB
HCL
terraform {
|
|
required_version = ">= 1.6.0"
|
|
|
|
required_providers {
|
|
proxmox = {
|
|
source = "telmate/proxmox"
|
|
version = "3.0.2-rc05"
|
|
}
|
|
local = {
|
|
source = "hashicorp/local"
|
|
version = "~> 2.1"
|
|
}
|
|
}
|
|
}
|
|
|
|
provider "proxmox" {
|
|
pm_api_url = var.proxmox_api_url
|
|
pm_api_token_id = var.proxmox_token_id
|
|
pm_api_token_secret = var.proxmox_token_secret
|
|
pm_tls_insecure = var.proxmox_tls_insecure
|
|
}
|
|
|
|
# K3s Server VM on elitedesk
|
|
resource "proxmox_vm_qemu" "k3s_server_2" {
|
|
vmid = 1001
|
|
name = "k3s-server-2"
|
|
target_node = "elitedesk"
|
|
clone = var.ubuntu_template
|
|
full_clone = true
|
|
force_create = true
|
|
|
|
# Configuration CPU
|
|
cpu {
|
|
cores = var.k3s_server_2_config.cores
|
|
sockets = 1
|
|
type = "host"
|
|
}
|
|
|
|
memory = var.k3s_server_2_config.memory
|
|
agent = 1
|
|
|
|
# Configuration vidéo - Standard VGA
|
|
vga {
|
|
type = "std"
|
|
}
|
|
|
|
boot = "order=scsi0"
|
|
scsihw = "virtio-scsi-single"
|
|
onboot = true
|
|
|
|
# Redimensionne le disque cloné du template
|
|
disk_gb = 100
|
|
|
|
network {
|
|
id = 0
|
|
model = "virtio"
|
|
bridge = var.k3s_network_bridge
|
|
}
|
|
|
|
ipconfig0 = "ip=${var.k3s_server_2_config.ip},gw=${var.k3s_gateway}"
|
|
cicustom = "user=${var.snippets_storage}:snippets/cloud-init-k3s-server-2.yaml"
|
|
nameserver = join(" ", var.k3s_dns)
|
|
|
|
lifecycle {
|
|
ignore_changes = [network]
|
|
}
|
|
|
|
depends_on = [local_file.k3s_server_cloud_init]
|
|
}
|