# Proxmox Alpine Cloud Init 部屬 * 以下指令皆在 Proxmox 上執行 ``` # 下載 alpine cloud init 硬碟檔 $ wget https://dl-cdn.alpinelinux.org/alpine/v3.19/releases/cloud/nocloud_alpine-3.19.1-x86_64-bios-cloudinit-r0.qcow2 $ apt install -y libguestfs-tools # 在 alpine cloud init 硬碟檔安裝 qemu-guest-agent、bash、sudo 套件 $ virt-customize --install qemu-guest-agent,bash,sudo -a nocloud_alpine-3.19.1-x86_64-bios-cloudinit-r0.qcow2 # 建立 alp 虛擬電腦 $ qm create 705 --name andy-alp-cloudinit --memory 4096 --sockets 2 --cores 2 --net0 virtio,bridge=vmbr0 # 匯入虛擬主機硬碟檔, 設定使用 SCSI 介面連接 虛擬硬碟檔 $ qm importdisk 705 nocloud_alpine-3.19.1-x86_64-bios-cloudinit-r0.qcow2 local-lvm $ qm set 705 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-705-disk-0 # 改變硬碟大小 $ qm resize 705 scsi0 50G # 加入 Cloud Init 功能 $ qm set 705 --ide2 local-lvm:cloudinit # Set boot device $ qm set 705 --boot c --bootdisk scsi0 # Enable serial device $ qm set 705 --serial0 socket --vga serial0 ``` * 撰寫 cloud-init 設定檔 ``` $ mkdir -p /var/lib/vz/snippets/ $ nano /var/lib/vz/snippets/user705.yml #cloud-config hostname: alpine-cloudinit package_update: true packages: - nano write_files: - path: /etc/resolv.conf permissions: 0644 owner: root content: | nameserver 8.8.8.8 system_info: default_user: name: bigred groups: users lock_passwd: false sudo: ALL=(ALL) NOPASSWD:ALL plain_text_passwd: 'bigred' homedir: /home/bigred shell: /bin/bash ssh_pwauth: True # - bootcmd will run on every boot bootcmd: - echo "hi bigred" > /home/bigred/test $ nano /var/lib/vz/snippets/network705.yml version: 1 config: - type: physical name: eth0 subnets: - type: static address: '192.168.33.109' netmask: '255.255.255.0' gateway: '192.168.33.254' ``` * 套用設定檔 ``` $ qm set 705 --cicustom "user=local:snippets/user705.yml,network=local:snippets/network705.yml" $ qm start 705 ``` ## 參考文件 https://cloudinit.readthedocs.io/en/latest/reference/examples.html
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up