ການສ້າງໄຟລ໌ກຳນົດຄ່າ Ignition
ພາບລວມຂອງ Ignition
Ignition ແມ່ນເຄື່ອງມືຊ່ວຍໃນການຈັດຕຽມລະບົບ ເຊິ່ງຈະອ່ານໄຟລ໌ກຳນົດຄ່າ (ໃນຮູບແບບ JSON) ແລະ ຈັດຕຽມລະບົບ Fedora CoreOS ໂດຍອີງຕາມການກຳນົດຄ່ານັ້ນ. ສ່ວນປະກອບທີ່ສາມາດກຳນົດຄ່າໄດ້ລວມມີ ບ່ອນເກັບຂໍ້ມູນ ແລະ ລະບົບໄຟລ໌, systemd units, ແລະ ຜູ້ໃຊ້.
Ignition ຈະເຮັດວຽກພຽງແຕ່ຄັ້ງດຽວໃນລະຫວ່າງການບູດລະບົບຄັ້ງທຳອິດ (ໃນຂະນະທີ່ຢູ່ໃນ initramfs). ເນື່ອງຈາກ Ignition ເຮັດວຽກຕັ້ງແຕ່ຕອນເລີ່ມຕົ້ນຂອງຂະບວນການບູດ, ມັນຈຶ່ງສາມາດແບ່ງພາກສ່ວນດິສກ໌ຄືນໃໝ່, ຟໍແມັດລະບົບໄຟລ໌, ສ້າງຜູ້ໃຊ້, ແລະ ຂຽນໄຟລ໌ກ່ອນທີ່ userspace ຈະເລີ່ມບູດ. ຜົນທີ່ໄດ້ແມ່ນ ເຊີວິດຂອງ systemd ຈະຖືກຂຽນລົງໃນດິສກ໌ແລ້ວເມື່ອ systemd ເລີ່ມເຮັດວຽກ, ເຊິ່ງຊ່ວຍໃຫ້ການບູດລະບົບໄວຂຶ້ນ.
ຂະບວນການກຳນົດຄ່າ
ການກຳນົດຄ່າຂອງ Ignition ຢູ່ໃນຮູບແບບ JSON, ເຊິ່ງວ່ອງໄວ ແລະ ງ່າຍສຳລັບເຄື່ອງຈັກໃນການອ່ານ. ເຖິງຢ່າງໃດກໍຕາມ, ໄຟລ໌ເຫຼົ່ານີ້ບໍ່ແມ່ນເລື່ອງງ່າຍສຳລັບມະນຸດທີ່ຈະອ່ານ ຫຼື ຂຽນ. ທາງອອກຄືຂະບວນການກຳນົດຄ່າສອງຂັ້ນຕອນທີ່ສະດວກທັງສຳລັບມະນຸດ ແລະ ເຄື່ອງຈັກ:
-
ສ້າງໄຟລ໌ກຳນົດຄ່າ Butane ໃນຮູບແບບ YAML.
-
ໃຊ້ Butane ເພື່ອປ່ຽນໄຟລ໌ YAML ໃຫ້ເປັນໄຟລ໌ກຳນົດຄ່າ Ignition ໃນຮູບແບບ JSON.
ໃນລະຫວ່າງຂະບວນການແປງຮູບແບບ, Butane ຈະກວດສອບໄວຍາກອນຂອງໄຟລ໌ YAML, ເຊິ່ງສາມາດກວດພົບຂໍ້ຜິດພາດກ່ອນທີ່ທ່ານຈະໃຊ້ມັນເພື່ອເລີ່ມລະບົບ FCOS.
ເມື່ອທ່ານມີໄຟລ໌ Ignition (.ign) ແລ້ວ, ທ່ານສາມາດໃຊ້ມັນເພື່ອບູດລະບົບ FCOS ໃນ VM ຫຼື ຕິດຕັ້ງລົງໃນເຄື່ອງຈິງ (bare metal).
| ພະຍາຍາມວາງແຜນການກຳນົດຄ່າຂອງທ່ານດ້ວຍລາຍລະອຽດການປັບແຕ່ງທັງໝົດກ່ອນທີ່ຈະຈັດຕຽມ Fedora CoreOS instance. ແຕ່ບໍ່ຕ້ອງກັງວົນຫາກທ່ານລືມບາງຢ່າງ ເພາະທ່ານສາມາດແກ້ໄຂການກຳນົດຄ່າ ແລະ ຕິດຕັ້ງ instance ຄືນໃໝ່ຈາກ image ໃໝ່ໄດ້. |
ການຕິດຕັ້ງ Butane
ທ່ານສາມາດໃຊ້ Butane ເປັນຄອນເທນເນີດ້ວຍ docker ຫຼື podman ຫຼື ດາວໂຫຼດມັນເປັນ standalone binary.
| ຍົກເວັ້ນແຕ່ມີການລະບຸໄວ້ເປັນຢ່າງອື່ນ, Butane ເວີຊັນໃໝ່ຈະສາມາດເຮັດວຽກຮ່ວມກັບເວີຊັນເກົ່າໄດ້ (backwards compatible). |
ຜ່ານຄອນເທນເນີດ້ວຍ podman ຫຼື docker
ທ່ານສາມາດດາວໂຫຼດ Butane ຈາກຄອນເທນເນີທີ່ຝາກໄວ້ຢູ່ quay.io:
podman pull quay.io/coreos/butane:release
ແທັກ release ຈະຕິດຕາມເວີຊັນຫຼ້າສຸດທີ່ປ່ອຍອອກມາ, ແລະ ແທັກ latest ຈະຕິດຕາມສາຂາການພັດທະນາໃນ Git.
|
ໃຊ້ Butane ໂດຍຜ່ານ standard input ແລະ standard output ຫຼື ຜ່ານໄຟລ໌:
podman run --interactive --rm quay.io/coreos/butane:release \
--pretty --strict < your_config.bu > transpiled_config.ign
podman run --interactive --rm --security-opt label=disable \
--volume "${PWD}:/pwd" --workdir /pwd quay.io/coreos/butane:release \
--pretty --strict your_config.bu > transpiled_config.ign
ເພື່ອໃຫ້ພິມໄດ້ງ່າຍຂຶ້ນ, ທ່ານອາດຈະເພີ່ມ alias ຕໍ່ໄປນີ້ໃສ່ໃນການກຳນົດຄ່າ shell ຂອງທ່ານ:
alias butane='podman run --rm --interactive \
--security-opt label=disable \
--volume "${PWD}:/pwd" --workdir /pwd \
quay.io/coreos/butane:release'
| ຕົວຢ່າງເຫຼົ່ານີ້ໃຊ້ podman, ແຕ່ທ່ານກໍສາມາດໃຊ້ docker ໃນລັກສະນະທີ່ຄ້າຍຄືກັນໄດ້. |
ການຕິດຕັ້ງຜ່ານແພັກເກດຂອງແຕ່ລະລະບົບປະຕິບັດການ
ການຕິດຕັ້ງຜ່ານ Windows Package Manager Client (winget)
Butane ມີໃຫ້ບໍລິການໃນຮູບແບບແພັກເກດຂອງ winget:
winget install --id Fedora.CoreOS.butane
ໄຟລ໌ Binary ແບບ Standalone
Linux
ເພື່ອໃຊ້ Butane binary ເທິງ Linux, ໃຫ້ເຮັດຕາມຂັ້ນຕອນດັ່ງນີ້:
-
ຫາກທ່ານຍັງບໍ່ທັນໄດ້ເຮັດ, ໃຫ້ດາວໂຫຼດ ຄີສຳລັບເຊັນຂອງ Fedora ແລະ ນຳເຂົ້າພວກມັນ:
curl https://fedoraproject.org/fedora.gpg | gpg --import -
ດາວໂຫຼດ Butane ເວີຊັນຫຼ້າສຸດ ແລະ detached signature ຈາກ ໜ້າການປ່ອຍເວີຊັນ.
-
ກວດສອບດ້ວຍ gpg:
gpg --verify butane-x86_64-unknown-linux-gnu.asc
macOS
ເພື່ອໃຊ້ Butane binary ເທິງ macOS, ໃຫ້ເຮັດຕາມຂັ້ນຕອນດັ່ງນີ້:
-
ຫາກທ່ານຍັງບໍ່ທັນໄດ້ເຮັດ, ໃຫ້ດາວໂຫຼດ ຄີສຳລັບເຊັນຂອງ Fedora ແລະ ນຳເຂົ້າພວກມັນ:
curl https://fedoraproject.org/fedora.gpg | gpg --import -
ດາວໂຫຼດ Butane ເວີຊັນຫຼ້າສຸດ ແລະ detached signature ຈາກ ໜ້າການປ່ອຍເວີຊັນ.
-
ກວດສອບດ້ວຍ gpg:
gpg --verify butane-x86_64-apple-darwin.asc
Windows
ເພື່ອໃຊ້ Butane binary ເທິງ Windows, ໃຫ້ເຮັດຕາມຂັ້ນຕອນດັ່ງນີ້:
-
ຫາກທ່ານຍັງບໍ່ທັນໄດ້ເຮັດ, ໃຫ້ດາວໂຫຼດ ຄີສຳລັບເຊັນຂອງ Fedora ແລະ ນຳເຂົ້າພວກມັນ:
Invoke-RestMethod -Uri https://fedoraproject.org/fedora.gpg | gpg --import -
ດາວໂຫຼດ Butane ເວີຊັນຫຼ້າສຸດ ແລະ detached signature ຈາກ ໜ້າການປ່ອຍເວີຊັນ.
-
ກວດສອບດ້ວຍ gpg:
gpg --verify butane-x86_64-pc-windows-gnu.exe.asc
ຕົວຢ່າງ
ສ້າງໄຟລ໌ກຳນົດຄ່າ Ignition ພື້ນຖານທີ່ປ່ຽນແປງຜູ້ໃຊ້ Fedora CoreOS ເລີ່ມຕົ້ນ core ເພື່ອອະນຸຍາດໃຫ້ຜູ້ໃຊ້ນີ້ເຂົ້າສູ່ລະບົບດ້ວຍ SSH key.
ຂັ້ນຕອນໂດຍລວມມີດັ່ງນີ້:
-
ຂຽນການກຳນົດຄ່າ Butane ໃນຮູບແບບ YAML.
-
ໃຊ້ Butane ເພື່ອປ່ຽນການກຳນົດຄ່າ Butane ໃຫ້ເປັນການກຳນົດຄ່າ Ignition (JSON).
-
ບູດ Fedora CoreOS image ໃໝ່ດ້ວຍໄຟລ໌ກຳນົດຄ່າ Ignition ທີ່ໄດ້ມາ.
ສິ່ງທີ່ຕ້ອງກຽມໄວ້ກ່ອນ
ຕົວຢ່າງນີ້ໃຊ້ຄູ່ຄີ SSH public ແລະ private. ຫາກທ່ານຍັງບໍ່ທັນມີ, ທ່ານສາມາດ ສ້າງຄູ່ຄີ SSH.
SSH public key ຈະຖືກຕິດຕັ້ງລົງໃນເຄື່ອງ Fedora CoreOS (ຜ່ານ Ignition). ສ່ວນ SSH private key ຕ້ອງມີຢູ່ໃນເຄື່ອງຄອມພິວເຕີຂອງທ່ານ ເພື່ອໃຊ້ໃນການຢືນຢັນຕົວຕົນຜ່ານ SSH ຈາກໄລຍະໄກ.
ການຂຽນໄຟລ໌ກຳນົດຄ່າ Butane
-
ກັອບປີ້ຕົວຢ່າງຕໍ່ໄປນີ້ໃສ່ໃນໂປຣແກຣມແກ້ໄຂຂໍ້ຄວາມ (text editor):
variant: fcos version: 1.7.0 passwd: users: - name: core ssh_authorized_keys: - ssh-rsa AAAA... -
ປ່ຽນແຖວຂ້າງເທິງທີ່ຂຶ້ນຕົ້ນດ້ວຍ
ssh-rsaດ້ວຍເນື້ອໃນຂອງໄຟລ໌ SSH public key ຂອງທ່ານ. -
ບັນທຶກໄຟລ໌ດ້ວຍຊື່
example.bu.
| ໄຟລ໌ YAML ຕ້ອງມີການຫຍໍ້ໜ້າທີ່ສະໝ່ຳສະເໝີ. ເຖິງແມ່ນວ່າ Butane ຈະກວດສອບຂໍ້ຜິດພາດທາງໄວຍາກອນ, ແຕ່ໃຫ້ແນ່ໃຈວ່າການຫຍໍ້ໜ້ານັ້ນກົງກັບຕົວຢ່າງຂ້າງເທິງ. ໂດຍລວມແລ້ວ, ການກຳນົດຄ່າ Butane ຕ້ອງເປັນໄປຕາມ ຮູບແບບຂໍ້ກຳນົດການກຳນົດຄ່າ ຂອງ Butane. |
ຫາກທ່ານໃຊ້ VS Code ຮ່ວມກັບ ສ່ວນເສີມ Red Hat Yaml ທ່ານສາມາດກຳນົດໃຫ້ໄຟລ໌ *.bu ເປັນ yaml ໃນການຕັ້ງຄ່າ files.associations ເພື່ອຮັບການຊ່ວຍເຫຼືອ/ການເຕີມຄຳອັດຕະໂນມັດ.
|
| ທ່ານຍັງສາມາດຕັ້ງລະຫັດຜ່ານສຳລັບເຂົ້າສູ່ລະບົບຜ່ານ console ໄດ້ (ການຢືນຢັນຕົວຕົນດ້ວຍລະຫັດຜ່ານຜ່ານ SSH ແມ່ນຖືກປິດໄວ້). ເບິ່ງ ການໃຊ້ການຢືນຢັນຕົວຕົນດ້ວຍລະຫັດຜ່ານ. |
ການນຳໃຊ້ Butane
-
ໃຊ້ Butane ກັບໄຟລ໌ກຳນົດຄ່າ Butane:
butane --pretty --strict example.bu > example.ign -
ໃຊ້ໄຟລ໌
example.ignເພື່ອ ບູດ Fedora CoreOS.
ຫາກໃຊ້ Butane ເທິງ Windows, > example.ign ຈະສ້າງໄຟລ໌ Ignition ທີ່ເຂົ້າລະຫັດເປັນ UTF-16. ເຊິ່ງອາດເຮັດໃຫ້ Fedora CoreOS ບໍ່ສາມາດບູດໄດ້ຢ່າງຖືກຕ້ອງ. ໃຫ້ໃຊ້ --output example.ign ແທນ.
|
Want to help? Learn how to contribute to Fedora Docs ›