ການຍ້າຍຈາກ CoreOS Container Linux (CL) ໄປສູ່ Fedora CoreOS (FCOS)

Fedora CoreOS ແມ່ນຜູ້ສືບທອດຢ່າງເປັນທາງການຂອງ CoreOS Container Linux, ເຊິ່ງ ໄດ້ສິ້ນສຸດການຮອງຮັບ ໃນວັນທີ 26 ພຶດສະພາ 2020. ໜ້ານີ້ພະຍາຍາມລວບລວມຂໍ້ມູນຄວາມແຕກຕ່າງລະຫວ່າງ CL ແລະ FCOS ເພື່ອໃຫ້ການປ່ຽນຜ່ານໄປສູ່ FCOS ໄດ້ງ່າຍຂຶ້ນ.

ບົດນຳ

ໃນການຍ້າຍຈາກ CL ໄປຫາ FCOS, ທ່ານຕ້ອງແປງໄຟລ໌ Container Linux Configs, Ignition configs, ຫຼື cloud-config ເກົ່າຂອງທ່ານໃຫ້ເປັນ Butane config ແລະ ປັບປ່ຽນເນື້ອຫາໃຫ້ເໝາະສົມກັບ FCOS. ເນື່ອງຈາກລາຍລະອຽດການຕັ້ງຄ່າຫຼາຍຢ່າງໄດ້ປ່ຽນແປງໄປ, ທ່ານຄວນອ້າງອີງຈາກໜ້ານີ້ ແລະ ບັນຫາການຍ້າຍ CL ໃນ GitHub.

ການປ່ຽນແປງໃນການຕິດຕັ້ງ

ການປ່ຽນແປງຕໍ່ໄປນີ້ໄດ້ຖືກຈັດຕັ້ງປະຕິບັດໃນຂັ້ນຕອນການຕິດຕັ້ງ:

  • ສະຄຣິບ coreos-install ໄດ້ຖືກປ່ຽນແທນດ້ວຍ coreos-installer. ເຊິ່ງມັນມີຟັງຊັນການເຮັດວຽກທີ່ຄ້າຍຄືກັນ.

  • ພາລາມິເຕີ kernel command-line coreos.autologin ແມ່ນຍັງບໍ່ຮອງຮັບໃນ FCOS ເທື່ອ. ສຳລັບຈຸດປະສົງໃນການກູ້ຄືນການເຂົ້າເຖິງ, ສາມາດເບິ່ງຄຳແນະນຳໄດ້ທີ່ ບ່ອນນີ້.

  • ບາງແພລດຟອມຂອງ CL ເຊັ່ນ Vagrant ແມ່ນຍັງບໍ່ຮອງຮັບໃນ FCOS ເທື່ອ. ອ້າງອີງຈາກ ໜ້າດາວໂຫຼດ ເພື່ອເບິ່ງປະເພດຂອງ image ທີ່ມີໃຫ້ໃຊ້.

ການປ່ຽນແປງຂອງແພັກເກດຊອບແວ

  • etcd ບໍ່ໄດ້ຖືກລວມເຂົ້າໃນ FCOS. ໃຫ້ເບິ່ງທີ່ ການຮັນ etcd ສຳລັບຄຳແນະນຳໃນການຮັນມັນໃນຮູບແບບຄອນເທນເນີໃນ FCOS.

  • flannel ບໍ່ໄດ້ຖືກລວມເຂົ້າໃນ FCOS.

  • Podman container runtime ໄດ້ຖືກລວມເຂົ້າໃນ FCOS ແລະ ເປັນລະບົບທີ່ແນະນຳໃຫ້ໃຊ້. ສ່ວນ rkt container runtime ແມ່ນບໍ່ໄດ້ລວມເຂົ້າ.

  • FCOS ບໍ່ມີກົນໄກທີ່ແນະນຳໃນການເລືອກເວີຊັນຂອງ docker.

  • ການຕັ້ງຄ່າເຄືອຂ່າຍແມ່ນຖືກຈັດການໂດຍ NetworkManager ແທນທີ່ systemd-networkd.

  • ສຳລັບການຊິງໂຄຣໄນເວລາ, ໃຫ້ໃຊ້ chronyd ແທນທີ່ຈະເປັນ ntpd ຫຼື systemd-timesyncd.

  • ຕອນນີ້ການອັບເດດອັດຕະໂນມັດແມ່ນຖືກປະສານງານໂດຍ Zincati, ຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນ ເອກະສານຂອງ Zincati. ກົນໄກການຍ້ອນກັບ (ຜ່ານ grub) ແມ່ນຖືກສະໜອງໂດຍ rpm-ostree.

  • ຟັງຊັນການເຮັດວຽກຂອງ reboot manager (locksmith) ໄດ້ຖືກຮວມເຂົ້າໃນ Zincati.

  • ເຄື່ອງມື update-ssh-keys ແມ່ນບໍ່ມີໃຫ້ໃນ FCOS. sshd ໃຊ້ ໂປຣແກຣມຊ່ວຍ ເພື່ອອ່ານໄຟລ໌ຄີ (key) ໂດຍກົງຈາກ ~/.ssh/authorized_keys.d.

ການປ່ຽນແປງການຕັ້ງຄ່າ

ເມື່ອຂຽນ Butane configs, ໃຫ້ໝາຍເຫດການປ່ຽນແປງດັ່ງຕໍ່ໄປນີ້:

  • coreos-metadata ຕອນນີ້ແມ່ນ Afterburn. ຄຳນຳໜ້າ (prefix) ຂອງຊື່ຕົວປ່ຽນ metadata ໄດ້ປ່ຽນຈາກ COREOS_ ເປັນ AFTERBURN_, ແລະ ຊື່ແພລດຟອມຕໍ່ໄປນີ້ກໍໄດ້ປ່ຽນໄປເຊັ່ນກັນ:

  • ໂດຍເລີ່ມຕົ້ນ, FCOS ບໍ່ອະນຸຍາດໃຫ້ເຂົ້າສູ່ລະບົບດ້ວຍລະຫັດຜ່ານຜ່ານ SSH. ພວກເຮົາແນະນຳໃຫ້ ຕັ້ງຄ່າ SSH keys ແທນ. ຫາກມີຄວາມຈຳເປັນ, ທ່ານສາມາດ ເປີດການໃຊ້ງານການຢືນຢັນຕົວຕົນດ້ວຍລະຫັດຜ່ານ SSH ໄດ້.

  • ເນື່ອງຈາກ usermod ຍັງບໍ່ທັນເຮັດວຽກໄດ້ຢ່າງເຕັມຮູບແບບໃນ FCOS, ຈຶ່ງມີກຸ່ມ docker ໃນໄຟລ໌ /etc/group. ນີ້ແມ່ນມາດຕະການຊົ່ວຄາວເພື່ອຊ່ວຍໃຫ້ການປ່ຽນຜ່ານໄປສູ່ FCOS ເປັນໄປຢ່າງສະດວກ. ທີມງານກຳລັງພັດທະນາ usermod ໃຫ້ເຮັດວຽກໄດ້ດີຂຶ້ນ, ເຊິ່ງເມື່ອນັ້ນກຸ່ມ docker ຈະບໍ່ໄດ້ຖືກລວມເຂົ້າໂດຍເລີ່ມຕົ້ນອີກ. ເບິ່ງ ບັນຫາກ່ຽວກັບກຸ່ມ docker.

  • ບໍ່ສາມາດສ້າງໄດເຣັກທໍຣີພາຍໃຕ້ໄດເຣັກທໍຣີ / ໄດ້. ການປ່ຽນແປງແມ່ນຖືກຈຳກັດໄວ້ພຽງແຕ່ໃນ /etc ແລະ /var. ໃຫ້ອ້າງອີງເຖິງເອກະສານສຳລັບ storage node ຂອງ Butane config ສຳລັບລາຍລະອຽດກ່ຽວກັບການຂຽນໄດເຣັກທໍຣີ ແລະ ໄຟລ໌ລົງໃນ FCOS.

  • Butane configs ຈະບໍ່ມີພາກສ່ວນແຍກຕ່າງຫາກສຳລັບການຕັ້ງຄ່າເຄືອຂ່າຍອີກຕໍ່ໄປ. ໃຫ້ໃຊ້ພາກສ່ວນ files ຂອງ Butane ເພື່ອຂຽນ NetworkManager key file ແທນ.

ໝາຍເຫດສຳລັບຜູ້ໃຊ້ງານ

  • FCOS ພະຍາຍາມໃຫ້ ຄວາມສະຖຽນໃນລະດັບທີ່ດີທີ່ສຸດເທົ່າທີ່ຈະເຮັດໄດ້, ແລະ ໃນບາງຄັ້ງອາດມີການຖອຍຫຼັງຂອງປະສິດທິພາບ ຫຼື ການປ່ຽນແປງທີ່ອາດສົ່ງຜົນກະທົບຕໍ່ບາງຮູບແບບການໃຊ້ງານ.

  • CL ເຄີຍມີສາມຊ່ອງທາງການປ່ອຍ (release channels): alpha, beta, ແລະ stable. ສ່ວນ ສາຍການປ່ອຍ (release streams) ຂອງ FCOS ແມ່ນ next, testing, ແລະ stable, ເຊິ່ງມີຄວາມໝາຍແຕກຕ່າງກັນເລັກນ້ອຍ.

  • ໂດຍທົ່ວໄປແລ້ວ, ການຄວບຄຸມຂອງ SELinux ຄວນຈະເຮັດວຽກຄືກັນກັບໃນ Fedora.

  • ໃນການຕິດຕັ້ງ Ignition config ໃຫ້ເປັນສ່ວນໜຶ່ງຂອງ PXE image (ຫຼື "custom OEM" ໃນຄຳສັບຂອງ CL), ໃຫ້ປະຕິບັດຕາມ ຂັ້ນຕອນດຽວກັນ ກັບໃນ CL, ແຕ່ໃຫ້ວາງໄຟລ໌ config.ign ໄວ້ທີ່ root ຂອງບ່ອນເກັບມ້ຽນ (archive).

  • ໃນ CL, ຂໍ້ມູນການວັດແທກ/ໂທລະມິຕິ (metrics/telemetry) ແມ່ນຖືກເກັບກຳໂດຍກົນໄກການອັບເດດ. ໃນ FCOS, ໂນດ (nodes) ຈະຖືກນັບ (ໂດຍບໍ່ມີຕົວລະບຸສະເພາະຕົວ) ຜ່ານກົນໄກ Count Me.

  • Cloud CLI clients ບໍ່ໄດ້ຖືກລວມເຂົ້າໃນ FCOS. ປະຈຸບັນກຳລັງມີແນວຄິດລິເລີ່ມໃນການສ້າງ ຄອນເທນເນີ "tools" ເພື່ອໃຫ້ຮັນເທິງ FCOS ໄດ້.

  • ເມື່ອເປີດໄຟລ໌ທີ່ມີຢູ່ແລ້ວໃນ sticky directory, ພຶດຕິກຳຈະແຕກຕ່າງຈາກ CL. ເບິ່ງ commit ຂອງ systemd ທີ່ກ່ຽວຂ້ອງ.

  • CL ເຄີຍເປີດໃຊ້ງານ Simultaneous Multi-Threading (SMT) ໄວ້ ແຕ່ແນະນຳໃຫ້ຜູ້ໃຊ້ປິດມັນ ຫາກລະບົບມີຄວາມສ່ຽງຕໍ່ບັນຫາບາງຢ່າງເຊັ່ນ L1TF ຫຼື MDS. ໂດຍເລີ່ມຕົ້ນແລ້ວ, FCOS ຈະປິດ SMT ໂດຍອັດຕະໂນມັດ ສຳລັບລະບົບທີ່ມີຄວາມສ່ຽງ.

  • ໂດຍທົ່ວໄປແລ້ວ, docker ຈະໃຊ້ການຕັ້ງຄ່າເລີ່ມຕົ້ນຈາກ Fedora, ເຊິ່ງມີຄວາມແຕກຕ່າງກັນໃນຫຼາຍໆດ້ານ. ທີ່ເຫັນໄດ້ຊັດເຈນແມ່ນ logging driver ຖືກຕັ້ງເປັນ journald ແລະ ເປີດໃຊ້ງານ live-restore.

ໝາຍເຫດການຈັດຕັ້ງປະຕິບັດ

  • ລະບົບໄຟລ໌ (filesystem) ເລີ່ມຕົ້ນໃນ CL ແມ່ນ ext4. ໃນ FCOS, ຄ່າເລີ່ມຕົ້ນແມ່ນ xfs.

  • ໃນຂະນະທີ່ CL ໃຊ້ systemd socket activation ສຳລັບ sshd, ແຕ່ FCOS ຈະເລີ່ມການເຮັດວຽກຂອງ sshd ຕອນເປີດເຄື່ອງໂດຍເລີ່ມຕົ້ນ.

  • CL ເຄີຍມີ "OEM partition" ທີ່ /usr/share/oem ພ້ອມກັບ GRUB config ທີ່ຜູ້ໃຊ້ສາມາດປັບແຕ່ງເອງໄດ້ ແລະ ເຄື່ອງມືເພີ່ມເຕີມບາງຢ່າງ, ແຕ່ FCOS ແມ່ນບໍ່ມີສ່ວນນີ້.