Problemă
TLDR: Am acest lucru care face cea mai mare parte a instalării automate (cred?), dar continuă să afișeze instalarea GUI după ce trece prin Instalarea automată. Căutăm orice informații despre motivul pentru care continuă să afișeze GUI. /TLDR
Versiune mai lungă: Încerc să îmi dau seama cum să implementez ubuntu (și eventual alte distribuții) în Proxmox utilizând Hashicorp Packer. Am majoritatea configurațiilor configurate și funcționează... cam? Se „instalează” cu succes, dar nu poate termina configurarea inițială, continuă să treacă prin AutoInstall, dar apoi deschide în continuare instalarea GUI. De la trecerea manuală prin GUI, după ce termină porțiunea de instalare automată, se pare că totul este deja completat (minus porțiunea de identitate a utilizatorului, adică FullName/Username/etc). Se pare că nici măcar nu trebuie să găsească o adresă IP, cum ar fi atunci când parcurgeți doar GUI, așa că cred că DHCP funcționează bine?
Am încercat să mă uit la alte câteva întrebări similare, dar soluțiile lor nu au funcționat pentru mine (încă).
Teorii
Am câteva teorii, dar niciuna nu pare să funcționeze corect sau nu sunt sigur cum să le testez.
- Am uitat ceva în
datele utilizatorului
(yaml) și încearcă să afișeze GUI din această cauză.
- Îmi lipsește un parametru de configurare din
.pkr.hcl
fișier care este necesar pentru ca proxmox să configureze corect vm-ul?
- Ceva este ciudat cu versiunea Ubuntu pe care o folosesc, poate am nevoie de un ISO diferit? Dar lucrurile pe care le-am citit spun doar că Cloud-init caracteristica doar schimbă moștenirea
preseed.cfg
pentru datele utilizatorului
(yaml), așa că am îndoieli cu privire la această teorie.
- Trebuie să setez o funcție de kernel? Sincer, nu sunt sigur de unde să încep aici, sunt, de asemenea, destul de sigur că dacă acesta ar fi fost cazul, aș fi văzut ceva despre asta în altă parte. Dar hei, poate că m-am uitat în locuri greșite?
- The
datele utilizatorului
fișierul nu este încărcat corect în Ubuntu?
Rezultate pline de speranță
- Dacă știți sosul magic, vă rog să mă bucurați de el :)
- Dacă știți cum să faceți ca Ubuntu 20.04 să redirecționeze unele dintre jurnalele sale în timpul instalării, astfel încât să pot arunca o privire mai profundă, ar fi apreciat! Același lucru pentru o înregistrare mai bună a packerilor (în afară de
- depanare
, am încercat deja). Am încercat /var/log/installer
, dar nu cred că am o înțelegere fermă a ceea ce se întâmplă. Dar nu văd nicio eroare, în afară de o eroare a cheii SSH și nu văd nicio indicație de datele utilizatorului
descărcare sau eșecuri la descărcare.
- Dacă aveți idei despre cum să testați unele dintre teoriile mele sau orice alte teorii, mi-ar plăcea să le aud!
- Dacă puteți vedea ce greșesc în fișierele de configurare de mai jos, vă rugăm să le indicați! Am încercat să fac asta într-un SILO de câteva zile și sunt lângă un zid de care nu știu cum să trec
Actualizări (în desfășurare)
- găsite
seed from http://192.168.0.144:80/user-data nu este acceptat de DataSourceNoCloud [seed=None][dsmode=net]
în /var/log/cloud-init.log
căutând de ce a revenit, orice sfat ar fi apreciat :)
- Ok, așa că mi-am dat seama de ce a apărut eroarea de mai sus, se pare că nu era în format YAML adecvat. Tocmai am aruncat fișierul într-un formatator YAML și apoi l-am copiat lipit înapoi în fișierul meu țintă.
- Acum eroarea este că fișierul YAML încărcat este gol
/var/lib/cloud/seed/nocloud/user-data
, din nou as aprecia orice sfat :)
Aluzie
Dacă sunteți suficient de cool pentru a încerca să reproduceți aceste lucruri sau dacă v-ați împiedicat de asta după ce (sperăm) a primit răspuns, ușurează-ți viața folosind un exemplu.auto.pkrvars.hcl
fişier.
Versiuni
Proxmox: Proxmox VE 7.1-4
Windows: Windows 10 Pro: 10.0.19043.0
Ambalator: 1.7.10
Exemplu.pkr.hcl
ambalator {
pluginuri_necesare {
proxmox = {
versiune = " >= 1.0.1"
sursă = „github.com/hashicorp/proxmox”
}
}
}
sursa „proxmox-iso” „proxmox-ubuntu-20” {
proxmox_url = „https://proxmox.lan:8006/api2/json”
vm_name = "packer-ubuntu-20"
iso_url = „http://iso.repo.lan/ubuntu-20.04.3-live-server-amd64.iso”
iso_checksum = "f8e3086f3cea0fb3fefb29937ab5ed9d19e767079633960ccb50e76153effc98"
nume utilizator = "${var.pm_user}"
parola = "${var.pm_pass}"
token = „${var.pm_token}”
nod = "proxmox"
iso_storage_pool = "local"
ssh_username = "${var.ssh_user}"
ssh_password = "${var.ssh_pass}"
ssh_timeout = "20m"
ssh_pty = adevărat
ssh_handshake_attempts = 20
boot_wait = "5s"
http_directory = "http" # Pornește un server http local, servește fișierul Preseed
boot_command = [
„<esc><wait><esc><wait><f6><wait><esc><wait>”,
„<bs><bs><bs><bs><bs>”,
"ip=${cidrhost("192.168.0.0/24", 9)}::${cidrhost("192.168.0.0/24", 1)}:${cidrnetmask("192.168.0.0/24")}: :::${cidrhost("192.168.0.0/24", 1)} ",
"autoinstall ds=nocloud-net;s=http://{{ .HTTPIP }}:{{ .HTTPPort }}/",
„--- <enter>”
]
insecure_skip_tls_verify = adevărat
template_name = "packer-ubuntu-20"
template_description = „a generat de ambalaj ubuntu-20.04.3-server-amd64”
unmount_iso = adevărat
pool = "ambalator"
memorie = 4096
miezuri = 1
prize = 1
os = "l26"
qemu_agent = adevărat
cloud_init = adevărat
# scsi_controller = "virtio-scsi-pci"
discuri {
tip = "scsi"
disk_size = "30G"
stocare_pool = "local-lvm"
storage_pool_type = "lvm"
format = "raw"
}
adaptoare_rețea {
punte = "vmbr0"
model = "virtio"
firewall = adevărat
# vlan_tag = 1
}
}
construi {
surse = ["source.proxmox-iso.proxmox-ubuntu-20"]
provider „shell” {
inline = [
„în timp ce [ ! -f /var/lib/cloud/instance/boot-finished ]; face ecou „Așteptând cloud-init...”; sleep 1; gata”,
"ls /"
]
}
}
vars.pkr.hcl
variabila „pm_user” {
tip = șir
description = "Nume utilizator Proxmox"
implicit = „packer@pam!<api-tag>”
}
variabila „pm_pass” {
tip = șir
description = "Parola utilizator Proxmox"
implicit = "ambalator"
}
variabila „pm_token” {
tip = șir
description = „Proxmox API Token”
}
variabila „ssh_user” {
tip = șir
description = "Utilizator SSH"
implicit = "ambalator"
}
variabila „ssh_pass” {
tip = șir
description = „Parola SSH”
implicit = "ambalator"
}
variabila „vm_name” {
tip = șir
descriere = „Nume VM”
implicit = "packer_hostname"
}
http/user-data
autoinstalare:
versiunea: 1
local: en_US.UTF-8
tastatură:
layout: en
varianta: noi
identitate:
Nume gazdă: packer-ubuntu-20
parola: „$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0”
nume de utilizator: ubuntu
nume real: ubuntu
reîmprospătare-instalare:
actualizare: fals
ssh:
server de instalare: da
allow-pw: da
pachete:
- qemu-guest-agent
depozitare:
aspect:
nume: direct
schimb:
dimensiune: 0
Surse
https://www.aerialls.eu/posts/ubuntu-server-2004-image-packer-subiquity-for-proxmox/
https://ubuntu.com/server/docs/install/autoinstall-reference
https://cloudinit.readthedocs.io/en/latest/topics/datasources/nocloud.html
https://cloudinit.readthedocs.io/en/latest/topics/modules.html#write-files
https://cloudalbania.com/posts/2022-01-homelab-with-proxmox-and-packer/