Przejdź do treści

Struktura repozytorium

Struktura katalogów i plików w repozytorium

.
├── build.pkr.hcl                            # Definicja procesu budowy i hardeningu maszyny wirtualnej
├── downloaded_iso_path                      # katalog do przecowywania pobranych obrazów iso
├── file_source.pkr.hcl                      # Generowanie plików dla procesu instalacji
├── http                                     # Katalog do przechowywania plików HTTP wykorzystywanych w instalacji
├── locals.pkr.hcl                           # Zmienne lokalne
├── pkrvars                                  # Pliki zmiennych dla poszczególnych wersji Ubuntu Linux
│   └── ubuntu-24.10.hcl
├── provider.pkr.hcl                         # Konfiguracja dostawcy (provider) Proxmox
├── scripts                                  # Katalog ze skryptami
│   └── provisioning.sh
├── template.pkr.hcl                         # Definicja szablonu maszyny wirtualnej
├── templates                                # Szablony plików używane w procesie instalacji
│   ├── meta-data.pkrtpl
│   ├── provisioning.pkrtpl
│   └── user-data.pkrtpl
├── variables.pkr.hcl                        # Ogólne zmienne Packer
├── variables_http.pkr.hcl                   # Zmienne dla serwera HTTP
├── variables_iso.pkr.hcl                    # Zmienne dotyczące ISO
├── variables_proxmox.pkr.hcl                # Zmienne dotyczące konfiguracji Proxmox
├── variables_ssh.pkr.hcl                    # Zmienne SSH
└── variables_vm.pkr.hcl                     # Zmienne konfigurujące maszynę wirtualną

Opis kluczowych plików

build.pkr.hcl

Plik build.pkr.hcl definiuje proces budowy obrazu Ubuntu Linux na Proxmox VE przy użyciu Packer. Główne funkcjonalności:

  • Instalacja wymaganych pakietów systemowych (apk add).
  • Konfiguracja Cloud-Init (setup-cloud-init), umożliwiająca automatyczne zarządzanie instancjami.
  • Zabezpieczenie dostępu poprzez usunięcie kluczy SSH oraz dezaktywację konta root.
  • Czyszczenie zbędnych plików (historia poleceń, skrypty instalacyjne).

Obraz generowany na podstawie tego pliku jest gotowy do wdrożenia i spełnia wymagania bezpieczeństwa.


template.pkr.hcl

Plik template.pkr.hcl definiuje sposób tworzenia szablonu maszyny wirtualnej Ubuntu Linux na Proxmox VE.

Najważniejsze funkcjonalności:

  • Łączenie się z API Proxmox w celu utworzenia nowej maszyny w puli templates.
  • Konfiguracja sprzętowa maszyny wirtualnej, obejmująca:
  • Liczbę rdzeni procesora i ilość pamięci RAM.
  • Konfigurację interfejsu sieciowego z VLAN (10 dla testów, 20 dla produkcji).
  • Typ dysku (scsi) i alokację przestrzeni dyskowej (storage.rachuna-net.pl).
  • Automatyczna instalacja Ubuntu Linux
  • Konfiguracja dostępu SSH

Podsumowanie

Struktura repozytorium została zaprojektowana w sposób modularny, co ułatwia dostosowanie konfiguracji do różnych wersji Ubuntu Linux oraz pozwala na elastyczne zarządzanie parametrami maszyn wirtualnych. Dzięki automatyzacji wdrożenie systemu jest szybkie, bezpieczne i w pełni zgodne z wymaganiami Proxmox VE.

Repozytorium zapewnia:

Pełną automatyzację instalacji – brak interakcji użytkownika.
Obsługę wielu wersji Ubuntu Linux – zmienne w pkrvars/.
Integrację z Cloud-Init – dynamiczna konfiguracja VM.
Bezpieczne ustawienia dostępu – brak domyślnych kont, usunięcie kluczy SSH.

DevOps

Dzięki takiej architekturze wdrażanie nowych instancji Ubuntu Linux w Proxmox VE jest wydajne, powtarzalne i zgodne z najlepszymi praktykami DevOps. 🚀