Membuat Konfigurasi Ignition
Gambaran Umum Ignition
Ignition adalah utilitas provisioning yang membaca berkas konfigurasi (dalam format JSON) dan menyiapkan sistem Fedora CoreOS berdasarkan konfigurasi tersebut. Komponen yang dapat dikonfigurasi mencakup penyimpanan dan sistem berkas, unit systemd, serta pengguna.
Ignition hanya dijalankan sekali saat boot pertama sistem (ketika berada pada initramfs). Karena Ignition dijalankan sangat awal dalam proses boot, ia dapat melakukan partisi ulang disk, memformat sistem berkas, membuat pengguna, dan menulis berkas sebelum ruang pengguna mulai dijalankan. Akibatnya, layanan systemd sudah ditulis ke disk sebelum systemd dimulai, sehingga mempercepat waktu boot.
Proses Konfigurasi
Konfigurasi Ignition diformat sebagai JSON, yang cepat dan mudah dibaca oleh mesin. Namun, format ini tidak mudah untuk dibaca atau ditulis oleh manusia. Solusinya adalah proses konfigurasi dua langkah yang ramah untuk manusia dan mesin:
-
Buat konfigurasi Butane dalam format YAML.
-
Jalankan Butane untuk mengonversi berkas YAML menjadi konfigurasi Ignition dalam format JSON.
Selama proses transpilation, Butane memverifikasi sintaks berkas YAML, yang dapat mendeteksi kesalahan sebelum digunakan untuk menjalankan sistem FCOS.
Setelah Anda memiliki berkas Ignition (.ign), Anda dapat menggunakannya untuk melakukan boot sistem FCOS dalam mesin virtual atau menginstalnya pada perangkat bare metal.
| Rencanakan konfigurasi Anda dengan detail kustomisasi yang lengkap sebelum melakukan penyediaan instance Fedora CoreOS. Namun jangan khawatir jika Anda lupa sesuatu, karena Anda dapat memperbaiki konfigurasi dan memasang ulang instance dari citra baru. |
Mendapatkan Butane
Anda dapat menjalankan Butane sebagai kontainer dengan docker atau podman, atau mengunduhnya sebagai biner mandiri.
| Kecuali dinyatakan lain, rilis baru Butane bersifat kompatibel ke belakang dengan rilis sebelumnya. |
Melalui kontainer dengan podman atau docker
Anda dapat memperoleh Butane dari kontainer yang dihosting di quay.io:
podman pull quay.io/coreos/butane:release
Tag release melacak rilis terbaru, dan tag latest melacak cabang pengembangan Git.
|
Jalankan Butane menggunakan masukan dan keluaran standar atau menggunakan berkas:
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
Untuk mempermudah pengetikan, Anda juga dapat menambahkan alias berikut ke konfigurasi shell Anda:
alias butane='podman run --rm --interactive \
--security-opt label=disable \
--volume "${PWD}:/pwd" --workdir /pwd \
quay.io/coreos/butane:release'
| Contoh di atas menggunakan podman, tetapi Anda dapat menggunakan docker dengan cara yang serupa. |
Instalasi melalui Paket Distribusi
Instalasi melalui Windows Package Manager Client (winget)
Butane tersedia sebagai paket winget:
winget install --id Fedora.CoreOS.butane
Biner Mandiri
Linux
Untuk menggunakan biner Butane di Linux, ikuti langkah-langkah berikut:
-
Jika Anda belum melakukannya, unduh kunci penandatanganan Fedora dan impor kunci tersebut:
curl https://fedoraproject.org/fedora.gpg | gpg --import -
Unduh versi terbaru Butane dan tanda tangan terpisah dari halaman rilis.
-
Verifikasi dengan gpg:
gpg --verify butane-x86_64-unknown-linux-gnu.asc
macOS
Untuk menggunakan biner Butane di macOS, ikuti langkah-langkah berikut:
-
Jika Anda belum melakukannya, unduh kunci penandatanganan Fedora dan impor kunci tersebut:
curl https://fedoraproject.org/fedora.gpg | gpg --import -
Unduh versi terbaru Butane dan tanda tangan terpisah dari halaman rilis.
-
Verifikasi dengan gpg:
gpg --verify butane-x86_64-apple-darwin.asc
Windows
Untuk menggunakan biner Butane di Windows, ikuti langkah-langkah berikut:
-
Jika Anda belum melakukannya, unduh kunci penandatanganan Fedora dan impor kunci tersebut:
Invoke-RestMethod -Uri https://fedoraproject.org/fedora.gpg | gpg --import -
Unduh versi terbaru Butane dan tanda tangan terpisah dari halaman rilis.
-
Verifikasi dengan gpg:
gpg --verify butane-x86_64-pc-windows-gnu.exe.asc
Contoh
Buat konfigurasi Ignition dasar yang memodifikasi pengguna default Fedora CoreOS core agar dapat masuk menggunakan kunci SSH.
Langkah-langkah keseluruhannya adalah sebagai berikut:
-
Tulis konfigurasi Butane dalam format YAML.
-
Gunakan Butane untuk mengonversi konfigurasi Butane menjadi konfigurasi Ignition (JSON).
-
Lakukan boot pada citra Fedora CoreOS baru menggunakan konfigurasi Ignition yang dihasilkan.
Persyaratan
Contoh ini menggunakan sepasang kunci publik dan privat SSH. Jika Anda belum memilikinya, Anda dapat membuat pasangan kunci SSH.
Kunci publik SSH akan dimasukkan ke mesin Fedora CoreOS (melalui Ignition). Kunci privat SSH harus tersedia untuk pengguna Anda pada workstation lokal agar dapat melakukan autentikasi jarak jauh melalui SSH.
Menulis konfigurasi Butane
-
Salin contoh berikut ke editor teks:
variant: fcos version: 1.6.0 passwd: users: - name: core ssh_authorized_keys: - ssh-rsa AAAA... -
Ganti baris yang dimulai dengan
ssh-rsadengan isi dari berkas kunci publik SSH Anda. -
Simpan berkas dengan nama
example.bu.
| Berkas YAML harus memiliki indentasi yang konsisten. Meskipun Butane akan memeriksa kesalahan sintaks, pastikan indentasinya sesuai dengan contoh di atas. Secara keseluruhan, konfigurasi Butane harus sesuai dengan format spesifikasi konfigurasi Butane. |
Jika Anda menggunakan VScode dengan ekstensi Red Hat YAML, Anda dapat mengaitkan berkas *.bu dengan yaml dalam pengaturan files.associations untuk mendapatkan bantuan dan pelengkapan otomatis.
|
| Anda juga dapat menetapkan kata sandi login untuk konsol (autentikasi kata sandi melalui SSH dinonaktifkan). Lihat Menggunakan Autentikasi Kata Sandi. |
Menggunakan Butane
-
Jalankan Butane pada konfigurasi Butane Anda:
butane --pretty --strict example.bu > example.ign -
Gunakan berkas
example.ignuntuk melakukan boot Fedora CoreOS.
Jika menggunakan Butane di Windows, penggunaan > example.ign akan membuat berkas Ignition dengan enkode UTF-16, yang dapat menyebabkan Fedora CoreOS gagal melakukan boot dengan benar. Gunakan --output example.ign sebagai gantinya.
|
Want to help? Learn how to contribute to Fedora Docs ›