Migrasi dari CoreOS Container Linux (CL) ke Fedora CoreOS (FCOS)

Fedora CoreOS adalah penerus resmi CoreOS Container Linux, yang telah mencapai akhir masa pakai pada 26 Mei 2020. Halaman ini berupaya mendokumentasikan perbedaan antara CL dan FCOS untuk mempermudah transisi ke FCOS.

Pendahuluan

Untuk bermigrasi dari CL ke FCOS, Anda harus mengonversi Container Linux Config lama, konfigurasi Ignition, atau berkas cloud-config Anda menjadi sebuah konfigurasi Butane dan menyesuaikan isinya untuk FCOS. Karena banyak detail konfigurasi yang berubah, Anda sebaiknya merujuk ke halaman ini dan isu migrasi CL di GitHub.

Perubahan instalasi

Perubahan berikut telah dilakukan pada proses instalasi:

  • Skrip coreos-install telah digantikan dengan coreos-installer. Fungsinya serupa.

  • Parameter baris perintah kernel coreos.autologin saat ini tidak didukung di FCOS. Untuk keperluan pemulihan akses, tersedia instruksi di sini.

  • Platform CL tertentu, seperti Vagrant, belum didukung di FCOS. Rujuk ke halaman Unduhan untuk melihat jenis image yang tersedia.

Perubahan paket perangkat lunak

  • etcd tidak disertakan di FCOS. Rujuk ke Menjalankan etcd untuk instruksi menjalankannya sebagai kontainer di FCOS.

  • flannel tidak disertakan di FCOS.

  • Runtime kontainer Podman disertakan di FCOS dan merupakan runtime kontainer yang direkomendasikan. Runtime kontainer rkt tidak disertakan.

  • FCOS tidak memiliki mekanisme yang direkomendasikan untuk memilih versi docker.

  • Konfigurasi jaringan sekarang ditangani oleh NetworkManager, bukan lagi systemd-networkd.

  • Untuk sinkronisasi waktu, gunakan chronyd sebagai pengganti ntpd atau systemd-timesyncd.

  • Pembaruan otomatis sekarang dikoordinasikan oleh Zincati, sebagaimana dijelaskan dalam dokumentasi Zincati. Mekanisme rollback (melalui grub) kini disediakan oleh rpm-ostree.

  • Fungsionalitas manajer reboot (locksmith) telah digabungkan ke dalam Zincati.

  • Alat update-ssh-keys tidak disediakan di FCOS. sshd menggunakan sebuah program pembantu untuk membaca berkas kunci secara langsung dari ~/.ssh/authorized_keys.d.

Perubahan konfigurasi

Saat menulis konfigurasi Butane, perhatikan perubahan berikut:

  • coreos-metadata sekarang adalah Afterburn. Prefiks nama variabel metadata berubah dari COREOS_ menjadi AFTERBURN_, dan nama platform berikut juga berubah:

    • EC2 sekarang menjadi AWS

    • GCE sekarang menjadi GCP

      Untuk informasi lebih lanjut, lihat dokumentasi Afterburn.

  • Secara bawaan, FCOS tidak mengizinkan login menggunakan kata sandi melalui SSH. Kami merekomendasikan mengonfigurasi kunci SSH sebagai gantinya. Jika diperlukan, Anda dapat mengaktifkan autentikasi kata sandi SSH.

  • Karena usermod belum berfungsi penuh di FCOS, terdapat grup docker di berkas /etc/group. Ini adalah langkah sementara untuk memfasilitasi transisi yang mulus ke FCOS. Tim sedang mengupayakan usermod yang lebih fungsional, dan pada saat itu grup docker tidak akan lagi disertakan secara bawaan. Lihat isu grup docker.

  • Tidak ada cara untuk membuat direktori di bawah direktori /. Perubahan dibatasi pada /etc dan /var. Rujuk dokumentasi untuk node storage pada konfigurasi Butane untuk detail tentang penulisan direktori dan berkas ke FCOS.

  • Konfigurasi Butane tidak lagi memiliki bagian terpisah untuk konfigurasi jaringan. Gunakan bagian files pada Butane untuk menuliskan sebuah berkas key NetworkManager sebagai gantinya.

Catatan operator

  • FCOS menyediakan stabilitas dengan upaya terbaik, dan mungkin sesekali menyertakan regresi atau perubahan yang menyebabkan ketidakcocokan untuk beberapa kasus penggunaan atau beban kerja tertentu.

  • CL memiliki tiga saluran rilis: alpha, beta, dan stable. Sementara itu, aliran rilis produksi FCOS adalah next, testing, dan stable, dengan semantik yang sedikit berbeda.

  • Secara umum, pembatasan SELinux berfungsi sama seperti di Fedora.

  • Untuk menerapkan konfigurasi Ignition sebagai bagian dari image PXE ("custom OEM" dalam terminologi CL), ikuti prosedur yang sama seperti pada CL, tetapi letakkan berkas config.ign di direktori root arsip.

  • Di CL, data metrik/telemetri dikumpulkan oleh mekanisme pembaruan. Di FCOS, node dihitung (tanpa pengenal unik) melalui mekanisme Count Me.

  • Klien CLI cloud tidak disertakan di FCOS. Ada inisiatif untuk membuat sebuah kontainer “tools” yang dapat dijalankan di FCOS.

  • Saat membuka berkas yang sudah ada di dalam direktori sticky, perilakunya berbeda dengan CL. Lihat commit systemd terkait.

  • CL membiarkan Simultaneous Multi-Threading (SMT) tetap aktif namun menyarankan pengguna untuk menonaktifkannya jika sistem mereka rentan terhadap masalah tertentu seperti L1TF atau MDS. Secara bawaan, FCOS secara otomatis menonaktifkan SMT pada sistem yang rentan.

  • Secara umum, docker menggunakan konfigurasi bawaan dari Fedora, yang berbeda dalam banyak hal. Secara khusus, logging driver diatur ke journald dan fitur live-restore diaktifkan.

Catatan implementasi

  • Sistem berkas bawaan pada CL adalah ext4. Pada FCOS, sistem berkas bawaan berubah menjadi xfs.

  • Sementara CL menggunakan aktivasi soket systemd untuk sshd, FCOS menjalankan sshd secara otomatis saat sistem dinyalakan.

  • CL memiliki “partisi OEM” di /usr/share/oem dengan konfigurasi GRUB yang dapat disesuaikan oleh pengguna dan beberapa alat tambahan, namun FCOS tidak memiliki fitur ini.