
Este é meu primeiro post aqui, então tenha paciência :)
Estou tentando construir uma imagem do Ubuntu 20.04.5 com Packer(1.8.4) no Proxmox(7.2-11). Tudo parece estar funcionando bem (obter IP, ler a configuração do cloud-init via HTTP, iniciar a instalação, instalar o kernel) até a instalação do qemu-guest-agent com subiquidade. Ele falha ao executar o comando de instalação, gera um relatório de falha e pede para pressionar Enter para obter um terminal. Para a imagem ISO 20.04.4 tudo funciona bem com exatamente a mesma configuração no Packer.
configuração de inicialização da nuvem:
#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
Não tenho ideia se isso vem do novo ISO ou Packer do Ubuntu, mas como a mesma configuração funciona para 20.04.4, acho que vem de algo novo que foi incluído na última versão.
Alguém tem uma ideia ou experimentou o mesmo?
Agradecemos antecipadamente por suas respostas!
Responder1
Aparentemente, encontrei uma solução alternativa para o seu problema...
Não tenho certeza se funcionaria para você ou se poderíamos ter o mesmo problema ao qemu-guest-agent
retornar Error 100
.
Esta é a minha solução alternativa:
Acabei de adicionar uma late-commands
diretiva ao meu user-data
arquivo onde ele seria executado apt-get update
e instalado qemu-guest-agent
após o fato.
aqui está um trecho do user-data
:
#cloud-config
autoinstall:
...
late-commands:
- curtin in-target -- apt-get update
- curtin in-target -- apt-get install qemu-guest-agent
...
Analisei mais profundamente o problema e descobri por que ele falhou. Aparentemente, remover qemu-guest-agent
da lista de pacotes faz tudo funcionar bem. Quando tento executar o suposto comando dentro do shell de erro, ele menciona que " qemu-guest-agent
não foi encontrado" ao tentar instalar esse pacote. É por isso que vim com esta solução enquanto relia os documentos para instalação automatizada de servidor no Ubuntu. De acordo comdocumentaçãocom relação à execução de comandos na máquina de destino, está escrito lá que você deve adicionar curtin in-target --target=/target --
antes de qualquer comando para que ele seja executado dentro do sistema de destino. Nesse caso, quero atualizar as fontes e instalar qemu-guest-agent
, e funcionou conforme o esperado. Sinto que poderia haver uma solução melhor para isto, como configurar a apt
directiva e tal. Esperamos que esta solução alternativa funcione no seu caso ...
Responder2
Vi um problema muito semelhante ao seu em meu ambiente e percebi que meu problema era que eu precisava configurar meu proxy corporativo para permitir que o apt/snapd acessasse a Internet.
ConformeReferência de instalação automáticaEu precisava adicionar o seguinte ao meu arquivo de dados do usuário:
autoinstall:
...
proxy: http://<proxy.url>:<port-number>
...