Perubahan Besar pada Fedora CoreOS

Ini adalah daftar perubahan besar yang diperkenalkan dalam Fedora CoreOS beserta catatan yang terkait dengannya. Perubahan-perubahan tersebut juga diumumkan di daftar milis coreos-status. Perlu dicatat bahwa ini bukanlah daftar lengkap perubahan di Fedora CoreOS dan hanya mencakup perubahan besar yang mungkin memerlukan tindakan manual. Daftar ini disusun dalam urutan kronologis terbalik agar perubahan terbaru tetap berada di bagian atas.

Beralih ke pembaruan OCI

Mulai dari Fedora 42, Fedora CoreOS akan melakukan pembaruan melalui citra OCI alih-alih repositori OSTree. Permintaan perubahan Fedora: https://fedoraproject.org/wiki/Changes/CoreOSOstree2OCIUpdates Diskusi lebih lanjut: https://github.com/coreos/fedora-coreos-tracker/issues/1823

Perencanaan

Perubahan ini pertama kali diperkenalkan dalam citra disk baru untuk aliran next, sebagai bagian dari pembaruan Fedora 42. Aliran testing dan next akan mengikuti setelah mereka melakukan pembaruan ke Fedora 42. Setelah beberapa rilis, kami akan memigrasikan mesin yang ada melalui rilis penghalang.

Update Stream Release date

next 42.20250316.1.0

2025-03-18

testing

TBD

stable

Will follow testing as usual

Catatan

Saat ini, host Fedora CoreOS mengunduh pembaruan dari repositori OSTree. Dengan perubahan ini, host akan mengunduh pembaruan dari registri kontainer Quay.io. Perubahan ini seharusnya tidak menimbulkan masalah, meskipun lingkungan yang menggunakan proxy memerlukan perhatian karena node akan mengakses alamat yang berbeda untuk pembaruan.

Catatan: Citra disk akan diperbarui terlebih dahulu, sehingga instalasi baru Fedora CoreOS yang berbasis Fedora 42 akan menggunakan citra OCI. Setelah beberapa rilis, kami akan memigrasikan node yang sudah ada.

Perubahan ini hanya berlaku untuk beralih ke OCI sebagai metode pengiriman konten Fedora CoreOS. Dukungan derivasi masih dalam tahap pengembangan, lihat masalah pelacakan untuk detail lebih lanjut: https://github.com/coreos/fedora-coreos-tracker/issues/1726

cgroups v1 support disabled

Pada systemd v256, dukungan untuk cgroups v1 telah dinonaktifkan. Jika Anda sebelumnya telah memilih untuk tidak mengikuti migrasi ke cgroups v2, sistem Anda akan gagal booting setelah melakukan pembaruan. Anda harus memperbarui argumen kernel sebelum melakukan pembaruan.

Perbarui sistem yang sudah ada dari cgroupsv1 ke cgroupsv2 dan segera reboot
$ sudo rpm-ostree kargs --delete=systemd.unified_cgroup_hierarchy --reboot

Perencanaan

Perubahan ini telah diterapkan sebagai bagian dari pembaruan ke Fedora 41.

Update Stream Targeted release date

next

41.20240916.1.0 (Sep 16, 2024)

testing

41.20241027.2.0 (Oct 28, 2024)

stable

41.20241027.3.0 (Nov 08, 2024)

Catatan

Deskripsi rinci tentang perubahan, dampaknya, cara mengujinya, tindakan manual apa yang diperlukan, dan sebagainya.

Podman versi 5.0

Podman container runtime akan diperbarui dari versi 4 ke versi 5. Ini adalah rilis utama yang menghentikan dukungan untuk CNI networking dan menggantinya dengan Netavark.

Lihat juga Fedora Change dan pelacak masalah.

Perencanaan

Perubahan ini akan diluncurkan bersamaan dengan pembaruan ke Fedora 40.

Update Stream Targeted release date

next

40.20240322.1.0 (Mar 24, 2024)

testing

40.20240416.2.0 (Apr 22, 2024)

stable

40.20240416.3.1 (May 07, 2024)

Catatan

Catatan rilis lengkap untuk Podman v5 tersedia di di GitHub dan perubahan yang memengaruhi kompatibilitas mundur dijelaskan di Perubahan yang memengaruhi kompatibilitas mundur Podman 5.0 secara rinci. Berikut adalah ringkasan bagaimana hal ini akan mempengaruhi node Fedora CoreOS:

  • Dukungan jaringan CNI telah dihapus dan Netavark kini menjadi satu-satunya opsi yang didukung.

  • Pasta kini menjadi backend jaringan tanpa root default.

  • Dalam kasus yang tidak mungkin terjadi bahwa Anda menggunakan mesin Podman di dalam Fedora CoreOS, Anda harus menghapus dan membuat ulang mesin Podman Anda. Lihat Migrasi Mesin Podman 4 ke Podman 5 untuk detail lebih lanjut.

  • Dukungan untuk cgroups v1 telah dihentikan dan akan dihapus pada versi mendatang.

  • Pembalikan ke versi sebelumnya dengan Podman v4.x kemungkinan besar memerlukan tindakan manual.

Konsol sistem beralih ke pengaturan default yang spesifik untuk platform

Pengaturan konsol sistem akan diubah untuk memberikan pengalaman pengguna yang lebih baik secara default. Pengaturan default baru akan bergantung pada arsitektur CPU dan platform.

Perubahan ini hanya akan berlaku untuk instalasi Fedora CoreOS yang baru. Sistem yang telah diperbarui akan mempertahankan pengaturan konsol saat ini.

Lihat juga the pengumuman coreos-status.

Perencanaan

Perubahan ini akan diterapkan secara bertahap:

Update Stream Targeted release date

next

2022-10-03 (37.20221003.1.0)

testing

2022-11-28

stable

Will follow testing as usual

Catatan

Pengaturan default saat ini bergantung pada arsitektur CPU:

  • Pada arsitektur x86_64, port serial pertama ttyS0 berfungsi sebagai konsol utama, sedangkan konsol grafis merupakan konsol sekunder.

  • Pada arsitektur lain, Fedora CoreOS umumnya tidak mengonfigurasi konsol tertentu, sehingga bootloader dan kernel mengikuti pengaturan default masing-masing. Hal ini biasanya berarti bahwa konsol grafis akan digunakan jika tersedia, dan konsol serial jika tidak.

Pengaturan default baru akan bergantung pada arsitektur CPU dan platform. Konfigurasi tepatnya terdapat di platform.yaml (cabang next-devel). Ringkasnya:

  • Pada banyak kombinasi arsitektur/platform, Fedora CoreOS akan memungkinkan GRUB dan kernel untuk mengikuti pengaturan default masing-masing. Pada arsitektur x86_64, hal ini menyebabkan konsol grafis dipilih secara otomatis, bahkan jika tidak ada kartu grafis yang tersedia. Secara khusus, instalasi bare metal x86_64 tidak lagi menggunakan konsol serial secara default.

  • Pada platform yang mengharuskan penggunaan konsol sistem tertentu, seperti AWS, Azure, dan GCP, Fedora CoreOS akan memilih konsol-konsol tersebut secara default.

  • Pada OpenStack, VirtualBox, dan VMware, Fedora CoreOS akan menggunakan konsol grafis utama tetapi tetap menyediakan konsol serial untuk debugging.

  • Citra QEMU akan terus memilih ttyS0 sebagai konsol utama dan konsol grafis sebagai konsol sekunder.

Jika pengaturan default baru tidak sesuai dengan lingkungan Anda, Anda dapat menggantinya dengan beberapa cara. Lihat halaman dokumentasi Akses konsol darurat untuk detailnya.

Podman v4.0

Podman container runtime akan diperbarui dari versi 3 ke versi 4. Ini adalah rilis utama (https://podman.io/release/2022/02/22/podman-release-v4.0.0) yang memperkenalkan perubahan yang tidak kompatibel ke belakang pada berkas konfigurasi dan antarmuka pemrograman aplikasi (API).

Perencanaan

Perubahan ini akan diluncurkan bersamaan dengan pembaruan ke Fedora 36.

Update Stream Targeted release date

next

2022-03-15

testing

2022-04-19

stable

Will follow testing as usual

Catatan

Catatan rilis lengkap untuk Podman v4 tersedia di di GitHub. Berikut adalah ringkasan tentang bagaimana hal ini akan mempengaruhi node Fedora CoreOS:

  • Kontainer yang sudah ada akan dipertahankan tanpa perlu dilakukan perubahan apa pun.

  • Kompatibilitas dengan Docker API sepenuhnya terjaga.

  • Pengguna API jarak jauh Podman memerlukan versi server/klien yang sesuai: API jarak jauh Podman untuk operasi Daftar Manifes dan Jaringan telah sepenuhnya ditulis ulang untuk mengatasi masalah dan ketidakkonsistenan dalam API sebelumnya. API yang tidak kompatibel harus memberikan peringatan jika digunakan dengan klien Podman versi lama. Klien dan server harus menggunakan versi API yang sama. Ini berarti jika Anda saat ini menggunakan API v3 dari klien, Anda perlu meng-upgrade-nya ke v4 pada saat yang sama. Jika Anda tidak menggunakan API jarak jauh, tidak diperlukan perubahan.

  • Pembalikan ke versi dengan Podman v3.x memerlukan tindakan manual: Podman v4.0 akan melakukan beberapa migrasi skema di basis data Podman saat pertama kali dijalankan. Migrasi skema ini akan menyebabkan Podman v3.x dan versi sebelumnya tidak dapat membaca informasi konfigurasi jaringan tertentu dari basis data. Hal ini berarti tidak mungkin untuk melakukan pembalikan ke rilis dengan Podman v3.x tanpa kehilangan beberapa fungsi pada kontainer yang sudah ada.

  • Hanya instalasi baru yang akan menggunakan stack jaringan baru secara default: Sistem yang sudah ada akan tetap menggunakan stack jaringan CNI dengan Podman v4.0. Untuk memanfaatkan stack jaringan baru, Anda harus menghapus semua kontainer, citra, dan jaringan yang ada menggunakan perintah podman system reset. Disarankan untuk me-reboot sistem untuk menerapkan perubahan.

Untuk memvalidasi perubahan ini secara提前 dalam deployment Anda, Anda dapat menggunakan petunjuk berikut untuk mencoba Podman v4.0 pada node untuk tujuan pengujian:

$ cat /etc/yum.repos.d/podman4.repo
[copr:copr.fedorainfracloud.org:rhcontainerbot:podman4]
name=Copr repo for podman4 owned by rhcontainerbot
baseurl=https://download.copr.fedorainfracloud.org/results/rhcontainerbot/podman4/fedora-$releasever-$basearch/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://download.copr.fedorainfracloud.org/results/rhcontainerbot/podman4/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1
$ sudo rpm-ostree override replace --experimental podman containers-common catatonit --freeze --from repo=copr:copr.fedorainfracloud.org:rhcontainerbot:podman4 --install aardvark-dns --install netavark
$ sudo systemctl reboot

Beralih ke iptables-nft

Semua node Fedora CoreOS baru dan yang diperbarui akan beralih ke backend nft dari iptables. Hal ini akan dilakukan dengan memperbarui tautan simbolik yang relevan di /etc/alternatives. Backend lama dianggap sudah tidak didukung.

Lihat juga masalah pelacakan.

Perencanaan

Perubahan ini akan diluncurkan bersamaan dengan pembaruan ke Fedora 36.

Update Stream Targeted release date

next

2022-03-15

testing

2022-04-19

stable

Will follow testing as usual

Catatan

Jika Anda perlu tetap menggunakan backend legacy, buatlah file kosong di /etc/coreos/iptables-legacy.stamp. Untuk node yang sudah ada, Anda dapat membuat file tersebut secara manual sekarang:

$ sudo mkdir -m 755 /etc/coreos/
$ sudo touch /etc/coreos/iptables-legacy.stamp

Untuk node baru yang di-deploy antara sekarang dan saat migrasi terjadi, Anda dapat membuat file /etc/coreos/iptables-legacy.stamp menggunakan Ignition untuk memastikan node-node tersebut tidak ikut dimigrasikan. Setelah migrasi, Anda dapat mengaktifkan node baru di backend legacy dengan secara manual mengatur tautan simbolik melalui Ignition. Berikut adalah konfigurasi Butane yang melakukan kedua hal tersebut:

variant: fcos
version: 1.6.0
storage:
  files:
    - path: /etc/coreos/iptables-legacy.stamp
      mode: 0644
  links:
    - path: /etc/alternatives/iptables
      target: /usr/sbin/iptables-legacy
      overwrite: true
      hard: false
    - path: /etc/alternatives/iptables-restore
      target: /usr/sbin/iptables-legacy-restore
      overwrite: true
      hard: false
    - path: /etc/alternatives/iptables-save
      target: /usr/sbin/iptables-legacy-save
      overwrite: true
      hard: false
    - path: /etc/alternatives/ip6tables
      target: /usr/sbin/ip6tables-legacy
      overwrite: true
      hard: false
    - path: /etc/alternatives/ip6tables-restore
      target: /usr/sbin/ip6tables-legacy-restore
      overwrite: true
      hard: false
    - path: /etc/alternatives/ip6tables-save
      target: /usr/sbin/ip6tables-legacy-save
      overwrite: true
      hard: false

Hal ini akan memastikan bahwa semua node baru akan menggunakan backend lama, baik sebelum maupun setelah migrasi. Setelah semua stream berbasis Fedora 36, kami merekomendasikan untuk menghapus file stamp dari konfigurasi Butane Anda.