Menyediakan Fedora CoreOS di OpenStack

Panduan ini menunjukkan cara menyediakan node Fedora CoreOS (FCOS) baru di lingkungan cloud OpenStack, baik privat maupun publik (seperti VEXXHOST).

Langkah-langkah berikut telah diuji pada rilis OpenStack Victoria.

Persyaratan

Sebelum menyediakan mesin FCOS, Anda harus memiliki file konfigurasi Ignition yang berisi kustomisasi Anda. Jika belum memilikinya, lihat [Producing an Ignition File](xref:producing-ign.adoc).

Fedora CoreOS memiliki pengguna bawaan bernama core yang dapat digunakan untuk menjelajahi sistem operasi. Jika Anda ingin menggunakannya, selesaikan [konfigurasinya](xref:authentication.adoc) dengan menambahkan, misalnya, kunci SSH.

Jika Anda tidak ingin menggunakan Ignition untuk memulai, Anda dapat memanfaatkan dukungan Afterburn.

Anda juga perlu memiliki akses ke lingkungan OpenStack dan CLI openstack yang berfungsi. Biasanya, Anda akan mengonfigurasi klien menggunakan file clouds.yaml atau melalui variabel lingkungan. Jika Anda memulai dari awal, lingkungan ini mungkin perlu disiapkan terlebih dahulu, seperti jaringan, pasangan kunci SSH, grup keamanan, dan lainnya. Silakan pelajari lebih lanjut di Dokumentasi OpenStack.

Mengunduh Citra OpenStack

Fedora CoreOS dirancang untuk diperbarui secara otomatis dengan jadwal yang berbeda untuk setiap aliran. Setelah Anda memilih aliran yang sesuai, unduh, verifikasi, dan dekompres citra OpenStack terbaru:

Untuk informasi lebih lanjut tentang varian aliran FCOS, lihat Aliran Pembaruan.
STREAM="stable"
coreos-installer download --decompress -s $STREAM -p openstack -f qcow2.xz

Sebagai alternatif, Anda dapat mengunduh citra OpenStack secara manual dari halaman unduhan. Verifikasikan hasil unduhan sesuai petunjuk di halaman tersebut dan dekompres citra.

Mengunggah Citra ke OpenStack

Buat citra FCOS di OpenStack
FILE=fedora-coreos-XX.XXXXXXXX.X.X-openstack.x86_64.qcow2
IMAGE=${FILE:0:-6} # hapus ekstensi .qcow2
openstack image create --disk-format=qcow2 --min-disk=10 --min-ram=2 --progress --file="${FILE}" "${IMAGE}"
Jika Anda mengunggah citra disk aarch64, tambahkan argumen --property architecture=aarch64.
Pantau kemajuan pembuatan citra dengan daftar citra:
openstack image list --name="${IMAGE}"

Setelah status citra berubah menjadi active, citra tersebut siap digunakan.

Menjalankan instance VM

Sekarang setelah Anda memiliki citra di akun Anda, Anda dapat meluncurkan instance VM. Anda harus menentukan beberapa informasi dalam perintah, seperti flavor instance, jaringan, kunci SSH, dan lain-lain.

Anda juga memerlukan konfigurasi Ignition yang telah Anda buat sebelumnya. Dalam contoh perintah berikut, konfigurasi ini direpresentasikan sebagai ./example.ign, yaitu file bernama example.ign di direktori saat ini.

Menjalankan instance VM
OPENSTACK_NETWORK="private"
OPENSTACK_KEYPAIR="mykeypair" # opsional
OPENSTACK_FLAVOR="v1-standard-2"
INSTANCE_NAME="myinstance" # pilih nama
openstack server create                \
     --key-name="${OPENSTACK_KEYPAIR}" \
     --network=$OPENSTACK_NETWORK      \
     --flavor=$OPENSTACK_FLAVOR  \
     --image="${IMAGE}"                \
     --user-data ./example.ign         \
     "${INSTANCE_NAME}"
Argumen --key-name bersifat opsional jika Anda sudah menyediakan kunci SSH melalui konfigurasi Ignition.
Pantau kemajuan pembuatan instance dengan openstack server show "${INSTANCE_NAME}". Anda juga dapat menambahkan parameter --wait ketika menjalankan openstack server create agar perintah menunggu hingga instance aktif.

Selanjutnya, jika jaringan instance tidak memiliki akses ke luar dan Anda ingin melakukan SSH ke instance dari luar lingkungan OpenStack, Anda harus menambahkan alamat IP publik ke instance:

Membuat dan Menetapkan Floating IP
OPENSTACK_NETWORK=public
openstack floating ip create $OPENSTACK_NETWORK

FLOATING_IP=1.1.1.1  # dari IP mengambang yang baru dibuat
openstack server add floating ip "${INSTANCE_NAME}" $FLOATING_IP

Sekarang Anda seharusnya dapat melakukan SSH ke instance menggunakan alamat IP publik tersebut.

Contoh Koneksi
ssh core@<ip address>