ການຈັດຕຽມ Fedora CoreOS ເທິງ VirtualBox

ຄູ່ມືນີ້ຈະສະແດງວິທີການຈັດຕຽມ Fedora CoreOS (FCOS) ໂນດໃໝ່ ເທິງ VirtualBox hypervisor.

ສິ່ງທີ່ຕ້ອງມີມາກ່ອນ

ກ່ອນທີ່ຈະນຳເຂົ້າເຄື່ອງ FCOS, ທ່ານຕ້ອງມີໄຟລ໌ການກຳນົດຄ່າ Ignition ທີ່ບັນຈຸການປັບແຕ່ງຂອງທ່ານ. ຖ້າທ່ານຍັງບໍ່ມີ, ໃຫ້ເບິ່ງ ການສ້າງໄຟລ໌ Ignition.

Fedora CoreOS ມີຜູ້ໃຊ້ core ເປັນຄ່າເລີ່ມຕົ້ນທີ່ສາມາດໃຊ້ເພື່ອສຳຫຼວດລະບົບປະຕິບັດການໄດ້. ຖ້າທ່ານຕ້ອງການໃຊ້ມັນ, ໃຫ້ເຮັດຂັ້ນຕອນສຸດທ້າຍຂອງ ການກຳນົດຄ່າ ໂດຍການລະບຸ ເຊັ່ນ: SSH key.

ການດາວໂຫຼດ OVA

Fedora CoreOS ຖືກອອກແບບມາໃຫ້ມີການອັບເດດແບບອັດຕະໂນມັດ, ໂດຍມີກຳນົດການທີ່ແຕກຕ່າງກັນໄປຕາມແຕ່ລະ stream. ເມື່ອທ່ານເລືອກ stream ທີ່ຕ້ອງການໄດ້ແລ້ວ, ທ່ານສາມາດດາວໂຫຼດ OVA ລຸ້ນຫຼ້າສຸດໄດ້:

STREAM="stable"
coreos-installer download -s $STREAM -p virtualbox -f ova

ນອກຈາກນັ້ນ, ທ່ານຍັງສາມາດດາວໂຫຼດ OVA images ດ້ວຍຕົນເອງໄດ້ຈາກ ໜ້າດາວໂຫຼດ.

ການບູດ VM ໃໝ່ເທິງ VirtualBox

ທ່ານສາມາດຕັ້ງຄ່າເຄື່ອງສະເືອນ (virtual machine) VirtualBox ຜ່ານ GUI ຫຼື ຜ່ານ VBoxManage CLI. ຄູ່ມືນີ້ຈະໃຊ້ CLI ສຳລັບການຕັ້ງຄ່າ VM.

ການນຳເຂົ້າ OVA

ເພື່ອນຳເຂົ້າ OVA, ໃຫ້ໃຊ້ VBoxManage import:

VM_NAME=my-instance
VBoxManage import --vsys 0 --vmname "$VM_NAME" fedora-coreos-44.20260621.3.1-virtualbox.x86_64.ova

ການຕັ້ງຄ່າ Ignition config

Ignition ຈະອ່ານການກຳນົດຄ່າຈາກ guest property ຂອງ /Ignition/Config ໃນເຄື່ອງສະເືອນ. ໃນປັດຈຸບັນ, guest properties ສາມາດຕັ້ງຄ່າໄດ້ຈາກ command line ຂອງ host ເທົັ້ນ ແລະ ບໍ່ສາມາດຕັ້ງຜ່ານ GUI ໄດ້. ເພື່ອຕັ້ງຄ່າ Ignition config ສຳລັບ VM:

IGN_PATH="/path/to/config.ign"
VM_NAME=my-instance
VBoxManage guestproperty set "$VM_NAME" /Ignition/Config "$(cat $IGN_PATH)"

ຂໍ້ຈຳກັດຂະໜາດຂອງ Ignition config

ຄວາມຍາວຂອງ /Ignition/Config guestinfo property ແມ່ນຖືກຈຳກັດໂດຍຄວາມຍາວສູງສຸດຂອງ command line ໃນລະບົບປະຕິບັດການ host ຂອງທ່ານ. ຂໍ້ຈຳກັດສະເພາະຂອງແຕ່ລະ OS ມີປະມານດັ່ງນີ້:

OS

ຂໍ້ຈຳກັດ

Linux

128 KiB

macOS

256 KiB

Windows shells

8 KiB

ຖ້າ Ignition config ຂອງທ່ານມີຂະໜາດໃຫຍ່ກວ່າຂໍ້ຈຳກັດນີ້, ທ່ານສາມາດຝາກ (host) ໄຟລ໌ກຳນົດຄ່ານັ້ນໄວ້ໃນເຊີບເວີ HTTPS ແລະ ອ້າງອີງເຖິງມັນຜ່ານ pointer config ຂະໜາດນ້ອຍ ດັ່ງນີ້:

  1. ອັບໂຫຼດ Ignition config ຂອງທ່ານໄປຍັງເຊີບເວີ HTTPS.

  2. ສ້າງ Butane pointer config ທີ່ລະບຸ URL ຂອງ Ignition config ສະບັບເຕັມຂອງທ່ານ:

    variant: fcos
    version: 1.7.0
    ignition:
      config:
        replace:
          source: https://example.com/config.ign
  3. ໃຊ້ Butane ເພື່ອປ່ຽນ Butane config ໃຫ້ເປັນ Ignition config.

  4. ຕັ້ງຄ່າ /Ignition/Config guest property ໃຫ້ເປັນເນື້ອໃນຂອງ pointer Ignition config ໂດຍປະຕິບັດຕາມຄຳແນະນຳໃນ [_setting_the_ignition_config].

ການກຳນົດຄ່າເຄືອຂ່າຍ

ໂດຍຄ່າເລີ່ມຕົ້ນ, VM ຈະໃຊ້ NAT networking. ນີ້ຈະເປັນການໃຊ້ IP address ຮ່ວມກັບ host ຂອງທ່ານ. ຫຼືອີກທາງເລືອກໜຶ່ງ, ຖ້າທ່ານຕ້ອງການໃຫ້ VM ໃຊ້ IP address ທີ່ແຕກຕ່າງຈາກ host, ທ່ານສາມາດຕັ້ງຄ່າ network adapter ຂອງ VM ເປັນ "Bridged networking".

ເຄືອຂ່າຍແບບ NAT (NAT networking)

ໂດຍຄ່າເລີ່ມຕົ້ນ, NAT networking ຈະບໍ່ອະນຸຍາດໃຫ້ມີການເຊື່ອມຕໍ່ຂາເຂົ້າ (inbound) ໄປຫາ VM. ເພື່ອອະນຸຍາດໃຫ້ມີການເຊື່ອມຕໍ່ SSH ຂາເຂົ້າ, ທ່ານສາມາດສົ່ງຕໍ່ (forward) ການເຊື່ອມຕໍ່ ເຊັ່ນ: ພອດ 2222 ເທິງ host ໄປຫາ SSH server ໃນ VM:

VM_NAME=my-instance
VBoxManage modifyvm "$VM_NAME" --natpf1 "guestssh,tcp,,2222,,22"

ຫຼັງຈາກບູດ VM ແລ້ວ, ທ່ານສາມາດ SSH ໄປຫາ VM ຈາກ host ຂອງທ່ານ:

ssh core@localhost -p 2222

ເຄືອຂ່າຍແບບບຣິດ (Bridged networking)

ຖ້າທ່ານຕ້ອງການໃຫ້ VM ໃຊ້ IP address ທີ່ແຕກຕ່າງຈາກ host ຂອງທ່ານ, ທ່ານສາມາດຕັ້ງຄ່າ network adapter ຂອງ VM ເປັນ "Bridged networking".

  1. ກວດສອບ network adapter ທີ່ຄວນຈະຖືກໃຊ້ເປັນ bridge ກັບ VM. ເພື່ອເບິ່ງຊື່ຂອງ network adapter ຫຼັກ (default) ຂອງ host, ທ່ານສາມາດລັນຄຳສັ່ງ:

    ip route ls default | grep -Po '(?<= dev )(\S+)'
  2. ແກ້ໄຂການຕັ້ງຄ່າ network adapter ຂອງ VM:

    VM_NAME=my-instance
    ADAPTER=adapter-name
    VBoxManage modifyvm "$VM_NAME" --nic1 bridged --bridgeadapter1 "$ADAPTER"

ການເລີ່ມຕົ້ນ VM

ຕອນນີ້ທ່ານສາມາດບູດ VM ທີ່ທ່ານໄດ້ຕັ້ງຄ່າໄວ້ແລ້ວ:

VM_NAME=my-instance
VBoxManage startvm "$VM_NAME"

ການແກ້ໄຂບັນຫາໃນການບູດຄັ້ງທຳອິດ

ທ່ານອາດຈະພົບກັບບັນຫາກັບ Ignition config ຂອງທ່ານ ເຊິ່ງຈຳເປັນຕ້ອງເຂົ້າເຖິງຂໍ້ຄວາມ console log ທີ່ປາກົດຂຶ້ນໃນລະຫວ່າງການບູດຄັ້ງທຳອິດ. ເພື່ອເອົາສຳເນົາຂອງ console log, ທ່ານສາມາດເຊື່ອມຕໍ່ serial device ເຂົ້າກັບ VM ກ່ອນທີ່ຈະບູດ.

ເພື່ອເຊື່ອມຕໍ່ serial device ເຂົ້າກັບ VM ທີ່ປິດຢູ່:

VM_NAME=my-instance
VM_LOG=$(realpath .)/$VM_NAME.log
VBoxManage modifyvm "$VM_NAME" --uart1 0x3F8 4
VBoxManage modifyvm "$VM_NAME" --uartmode1 file "$VM_LOG"

ເມື່ອທ່ານເປີດເຄື່ອງ VM, ຂໍ້ມູນ console ຈະຖືກບັນທຶກໄວ້ໃນໄຟລ໌ທີ່ທ່ານລະບຸ.