
첫 포스팅이니 조금만 기다려주세요 :)
Proxmox(7.2-11)에서 Packer(1.8.4)를 사용하여 Ubuntu 20.04.5 이미지를 빌드하려고 합니다. subiquity가 포함된 qemu-guest-agent를 설치할 때까지 모든 것이 잘 작동하는 것 같습니다(IP 가져오기, HTTP를 통해 cloud-init 구성 읽기, 설치 시작, 커널 설치). 설치 명령을 실행하지 못하고 충돌 보고서를 생성하며 Enter 키를 눌러 터미널을 가져오라고 요청합니다. 20.04.4 ISO 이미지의 경우 Packer의 동일한 구성으로 모든 것이 잘 작동합니다.
클라우드 초기화 구성:
#cloud-config
autoinstall:
version: 1
locale: en_US
keyboard:
layout: en
network:
version: 2
ethernets:
ens18:
dhcp4: true
ssh:
install-server: true
allow-pw: false
disable_root: true
ssh_quiet_keygen: true
allow_public_ssh_keys: true
packages:
- qemu-guest-agent
- sudo
storage:
swap:
size: 0
config:
- {ptable: gpt, path: /dev/vda, preserve: false, name: '', grub_device: true, type: disk, id: disk-vda}
- {type: partition, number: 1, device: disk-vda, flag: bios_grub, size: 1M, id: vda-grub}
- {type: partition, number: 2, device: disk-vda, flag: boot, size: 1G, id: vda-boot}
- {type: partition, number: 3, device: disk-vda, size: -1, id: vda-lvm}
- {type: lvm_volgroup, name: vg-ubuntu, devices: [vda-lvm], id: vg-ubuntu}
- {type: lvm_partition, volgroup: vg-ubuntu, id: lv-root, name: lv-root, size: -1}
- {type: format, fstype: ext4, volume: vda-boot, id: vda-boot-fs}
- {type: format, fstype: xfs, volume: lv-root, id: lv-root-fs}
- {type: mount, path: /, id: m-root, device: lv-root-fs}
- {type: mount, path: /boot, id: m-boot, device: vda-boot-fs}
user-data:
package_upgrade: true
timezone: Europe/Bucharest
users:
- name: devops
groups: [adm, sudo]
lock-passwd: false
sudo: ALL=(ALL) NOPASSWD:ALL
shell: /bin/bash
# passwd: your-password
ssh_authorized_keys:
- MyPublicKey
이것이 Ubuntu의 새로운 iso 또는 Packer에서 나온 것인지는 모르겠지만 20.04.4에서도 동일한 구성이 작동하므로 마지막 릴리스에 포함된 새로운 것에서 나온 것 같습니다.
누구든지 아이디어가 있거나 같은 경험을 했습니까?
귀하의 답변에 미리 감사드립니다!
답변1
분명히 귀하의 문제에 대한 반창고 해결 방법을 찾았습니다 ...
qemu-guest-agent
그것이 당신에게 효과가 있을지, 아니면 우리가 반품할 때 같은 문제를 겪게 될지 잘 모르겠습니다 Error 100
.
이것이 내 해결 방법입니다.
방금 파일 이 실행되고 설치 될 late-commands
지시어를 파일에 추가했습니다 .user-data
apt-get update
qemu-guest-agent
다음은 일부 내용입니다 user-data
.
#cloud-config
autoinstall:
...
late-commands:
- curtin in-target -- apt-get update
- curtin in-target -- apt-get install qemu-guest-agent
...
문제가 실패한 이유에 대해 더 자세히 살펴보았습니다. 분명히 qemu-guest-agent
패키지 목록을 제거하면 모든 것이 잘 작동합니다. 오류 셸 내에서 가정된 명령을 실행하려고 하면 qemu-guest-agent
해당 패키지를 설치하려고 할 때 " 찾을 수 없습니다"라는 메시지가 나타납니다. 이것이 우분투에서 자동화된 서버 설치에 대한 문서를 다시 읽는 동안 이 솔루션을 사용하게 된 이유입니다. 에 따르면선적 서류 비치대상 시스템에서 명령을 실행하는 것과 관련하여 curtin in-target --target=/target --
대상 시스템 내에서 실행하려면 명령 앞에 추가해야 한다는 내용이 거기에 기록되어 있습니다. 이 경우 소스를 업데이트하고 설치하려고 하는데 qemu-guest-agent
의도한 대로 작동했습니다. 지시어 구성 등 더 나은 솔루션이 있을 수 있다고 생각합니다 apt
. 이 해결 방법이 귀하의 경우에 효과가 있기를 바랍니다.
답변2
내 환경에서 귀하와 매우 유사한 문제를 보았고 내 문제는 apt/snapd가 인터넷에 연결할 수 있도록 회사 프록시를 설정해야 한다는 것임을 깨달았습니다.
에 따라자동 설치 참조사용자 데이터 파일에 다음을 추가해야 했습니다.
autoinstall:
...
proxy: http://<proxy.url>:<port-number>
...