Vấn đề
TLDR: Tôi đã làm điều này trong hầu hết AutoInstall (tôi nghĩ vậy?) nhưng nó vẫn tiếp tục hiển thị cài đặt GUI sau khi đi qua AutoInstall. Tìm kiếm bất kỳ thông tin đầu vào nào về lý do tại sao nó tiếp tục hiển thị GUI. /TLDR
Phiên bản dài hơn: Tôi đang cố gắng tìm ra cách triển khai ubuntu (và cuối cùng là các bản phân phối khác) cho Proxmox bằng cách sử dụng Hashicorp Packer. Tôi đã có hầu hết các thiết lập cấu hình và đang hoạt động... đại loại thế? Nó "triển khai" thành công nhưng nó không thể hoàn thành thiết lập ban đầu, nó tiếp tục đi qua AutoInstall, nhưng sau đó vẫn hiển thị cài đặt GUI. Từ bước qua GUI theo cách thủ công, sau khi hoàn thành phần Tự động cài đặt, có vẻ như mọi thứ đã được điền sẵn (trừ phần nhận dạng người dùng, tức là Tên đầy đủ/Tên người dùng/v.v.). Có vẻ như thậm chí không cần tìm địa chỉ IP, giống như khi bạn chỉ bước qua GUI, vì vậy tôi nghĩ DHCP đang hoạt động tốt?
Tôi đã thử xem xét một vài câu hỏi tương tự khác, nhưng các giải pháp của chúng vẫn chưa hiệu quả với tôi (chưa).
lý thuyết
Tôi có một vài lý thuyết, nhưng dường như không có lý thuyết nào hoạt động hoàn toàn đúng, hoặc tôi không chắc làm thế nào để kiểm tra chúng.
- Tôi đang quên một cái gì đó trong
dữ liệu người dùng
(yaml) và nó đang cố hiển thị GUI vì điều này.
- Tôi đang thiếu một số tham số cấu hình trong
.pkr.hcl
tệp cần thiết để proxmox thiết lập vm chính xác không?
- Có điều gì đó kỳ lạ với phiên bản Ubuntu tôi đang sử dụng, có lẽ tôi cần một ISO khác? Nhưng những thứ tôi đã đọc chỉ nói rằng Cloud-init tính năng chỉ hoán đổi di sản
preseed.cfg
cho dữ liệu người dùng
(yaml), vì vậy tôi nghi ngờ về lý thuyết này.
- Tôi cần thiết lập một số tính năng kernel? Thành thật mà nói, tôi không chắc bắt đầu từ đâu, tôi cũng khá chắc chắn rằng nếu đúng như vậy thì tôi đã thấy điều gì đó về nó ở một nơi khác. Nhưng này, có lẽ tôi chỉ nhìn nhầm chỗ?
- Các
dữ liệu người dùng
tệp không được tải vào Ubuntu đúng cách?
kết quả đầy hy vọng
- Nếu bạn biết nước sốt ma thuật, xin vui lòng cho tôi biết nó :)
- Nếu bạn biết cách để Ubuntu 20.04 chuyển hướng một số nhật ký của nó trong khi cài đặt, để tôi có thể xem xét kỹ hơn, điều đó sẽ được đánh giá cao! Tương tự để ghi nhật ký trình đóng gói tốt hơn (ngoài
-gỡ lỗi
, tôi đã thử rồi). tôi đã thử /var/log/trình cài đặt
, nhưng tôi không nghĩ mình nắm chắc được chuyện gì đang xảy ra. Nhưng tôi không thấy bất kỳ lỗi nào, ngoài lỗi Khóa SSH và tôi không thể thấy bất kỳ dấu hiệu nào của dữ liệu người dùng
tải xuống hoặc không tải xuống được.
- Nếu bạn có bất kỳ ý tưởng nào về cách kiểm tra một số lý thuyết của tôi hoặc bất kỳ lý thuyết nào khác, tôi rất muốn nghe chúng!
- Nếu bạn có thể thấy những gì tôi đang làm sai trong các tệp cấu hình bên dưới, vui lòng chỉ ra chúng! Tôi đã cố gắng làm điều này trong SILO vài ngày nay và tôi đang đứng trước một bức tường mà tôi không biết làm thế nào để vượt qua
Cập nhật (đang diễn ra)
- thành lập
hạt giống từ http://192.168.0.144:80/user-data không được DataSourceNoCloud hỗ trợ [seed=None][dsmode=net]
Trong /var/log/cloud-init.log
tìm hiểu lý do tại sao điều đó quay trở lại, mọi lời khuyên sẽ được đánh giá cao :)
- Được rồi, tôi đã tìm ra lý do tại sao lại xảy ra lỗi trên, có vẻ như nó không ở định dạng YAML phù hợp. Tôi vừa kết xuất tệp vào một trình định dạng YAML và sau đó sao chép, dán lại vào tệp mục tiêu của mình.
- Bây giờ lỗi là tệp YAML đã tải trống
/var/lib/cloud/seed/nocloud/user-data
, một lần nữa tôi đánh giá cao bất kỳ lời khuyên nào :)
Gợi ý
Nếu bạn đủ thú vị để thử sao chép nội dung này hoặc nếu bạn vấp phải nội dung này sau khi (hy vọng) được trả lời, hãy làm cho cuộc sống của bạn dễ dàng hơn bằng cách sử dụng ví dụ.auto.pkrvars.hcl
tập tin.
phiên bản
Proxmox: Proxmox VE 7.1-4
các cửa sổ: Windows 10 Pro : 10.0.19043.0
người đóng gói: 1.7.10
Ví dụ.pkr.hcl
người đóng gói {
yêu cầu_plugins {
proxmox = {
phiên bản = " >= 1.0.1"
nguồn = "github.com/hashicorp/proxmox"
}
}
}
nguồn "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"
tên người dùng = "${var.pm_user}"
mật khẩu = "${var.pm_pass}"
mã thông báo = "${var.pm_token}"
nút = "proxmox"
iso_storage_pool = "cục bộ"
ssh_username = "${var.ssh_user}"
ssh_password = "${var.ssh_pass}"
ssh_timeout = "20 phút"
ssh_pty = đúng
ssh_handshake_attempts = 20
boot_wait="5s"
http_directory = "http" # Khởi động máy chủ http cục bộ, cung cấp tệp 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 }}/",
"--- <nhập>"
]
không an toàn_skip_tls_verify = true
template_name = "packer-ubuntu-20"
template_description = "trình đóng gói đã tạo ubuntu-20.04.3-server-AMD64"
unmount_iso = đúng
hồ bơi = "người đóng gói"
bộ nhớ = 4096
lõi = 1
ổ cắm = 1
hệ điều hành = "l26"
qemu_agent = true
đám mây_init = đúng
# scsi_controller = "virtio-scsi-pci"
đĩa {
gõ = "scsi"
đĩa_size = "30G"
storage_pool = "local-lvm"
storage_pool_type = "lvm"
định dạng = "thô"
}
network_adapter {
cầu = "vmbr0"
người mẫu = "tài năng"
tường lửa = đúng
#vlan_tag=1
}
}
xây dựng {
nguồn = ["source.proxmox-iso.proxmox-ubuntu-20"]
nhà cung cấp "shell" {
nội tuyến = [
"trong khi [ ! -f /var/lib/cloud/instance/boot-finished ]; do echo 'Đang đợi khởi tạo trên đám mây...'; ngủ 1; xong",
"là /"
]
}
}
vars.pkr.hcl
biến "pm_user" {
loại = chuỗi
description = "Tên người dùng Proxmox"
default = "packer@pam!<api-tag>"
}
biến "pm_pass" {
loại = chuỗi
description = "Mật khẩu người dùng Proxmox"
mặc định = "người đóng gói"
}
biến "pm_token" {
loại = chuỗi
description = "Mã thông báo API Proxmox"
}
biến "ssh_user" {
loại = chuỗi
mô tả = "Người dùng SSH"
mặc định = "người đóng gói"
}
biến "ssh_pass" {
loại = chuỗi
mô tả = "Mật khẩu SSH"
mặc định = "người đóng gói"
}
biến "vm_name" {
loại = chuỗi
mô tả = "Tên máy ảo"
mặc định = "packer_hostname"
}
http/dữ liệu người dùng
tự động cài đặt:
phiên bản 1
ngôn ngữ: en_US.UTF-8
bàn phím:
bố cục: vi
biến thể: chúng tôi
xác thực:
tên máy chủ: packer-ubuntu-20
mật khẩu: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0" #ubuntu
tên người dùng: ubuntu
tên thật: ubuntu
trình cài đặt làm mới:
cập nhật: sai
ssh:
máy chủ cài đặt: có
allow-pw: có
gói:
- qemu-khách-đại lý
kho:
cách trình bày:
tên: trực tiếp
tráo đổi:
kích thước: 0
nguồn
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/