Penyediaan Fedora CoreOS di Google Cloud Platform

Panduan ini menunjukkan cara menyediakan instance Fedora CoreOS (FCOS) baru di Google Cloud Platform (GCP).

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 harus memiliki akses ke akun GCP. Contoh di bawah ini menggunakan alat baris perintah gcloud yang harus diinstal dan dikonfigurasi secara terpisah sebelumnya.

Memilih keluarga citra (image)

Fedora CoreOS dirancang untuk diperbarui secara otomatis, dengan jadwal pembaruan yang berbeda untuk setiap stream.

Citra FCOS diterbitkan di bawah proyek fedora-coreos-cloud dan diatur lebih lanjut dalam keluarga citra, yang melacak stream yang sesuai:

  • fedora-coreos-stable

  • fedora-coreos-testing

  • fedora-coreos-next

Sebelum melanjutkan, periksa detail setiap stream pembaruan dan pilih yang paling sesuai dengan kebutuhan Anda.

Anda dapat memeriksa status terkini dari sebuah keluarga citra dengan perintah berikut:

Memeriksa keluarga citra
STREAM='stable'
gcloud compute images describe-from-family \
    --project "fedora-coreos-cloud" "fedora-coreos-${STREAM}"

Menjalankan instance VM

Instance GCP baru dapat langsung dibuat dan dijalankan dari citra publik FCOS.

Jika Anda hanya ingin akses SSH tanpa kustomisasi lebih lanjut, Anda tidak perlu menambahkan metadata khusus pada instance. Bergantung pada konfigurasi proyek GCP Anda, kunci publik SSH yang relevan akan secara otomatis ditambahkan ke VM. Ini menyediakan cara mudah untuk mencoba FCOS tanpa harus membuat konfigurasi Ignition terlebih dahulu.

Saat ini, kami belum mendukung login menggunakan SSH melalui konsol web GCP, metode CLI gcloud compute ssh, atau OS Login. Lihat fedora-coreos-tracker#648 untuk informasi lebih lanjut.
Menjalankan Instance Baru
STREAM='stable'
NAME='fcos-node01'
ZONE='us-central1-a'
gcloud compute instances create              \
    --image-project "fedora-coreos-cloud"    \
    --image-family "fedora-coreos-${STREAM}" \
    --zone "${ZONE}" "${NAME}"
Anda dapat mengetahui IP yang diberikan ke instance dengan menjalankan gcloud compute instances list

Sekarang Anda seharusnya dapat melakukan SSH ke dalam instance menggunakan alamat IP yang terkait.

Contoh Koneksi
ssh core@<ip address>

Untuk meluncurkan instance FCOS yang disesuaikan, konfigurasi Ignition yang valid harus diteruskan sebagai metadata di bawah kunci user-data pada saat pembuatan. Di konsol web, opsi ini tersedia di bagian Management. Dari baris perintah, gunakan --metadata-from-file:

Menjalankan dan menyesuaikan instance baru
STREAM='stable'
NAME='fcos-node01'
ZONE='us-central1-a'
CONFIG='example.ign'
gcloud compute instances create                \
    --image-project "fedora-coreos-cloud"      \
    --image-family "fedora-coreos-${STREAM}"   \
    --metadata-from-file "user-data=${CONFIG}" \
    --zone "${ZONE}" "${NAME}"
Secara desain, startup scripts tidak didukung di FCOS. Sebagai gantinya, disarankan untuk menyandikan logika startup sebagai unit layanan systemd dalam konfigurasi Ignition. Perlu dicatat bahwa Anda harus menggunakan kunci user-data untuk Ignition; menempelkan Ignition langsung ke kolom ini di konsol web tidak akan berfungsi.

Menjalankan Confidential VM

Dukungan untuk Confidential Computing masih dalam pengembangan di Fedora CoreOS. Lihat issue #1719.
Untuk ringkasan tentang Confidential VM di GCP, lihat panduan ikhtisar Confidential VM.

Untuk menjalankan instance FCOS confidential, Anda perlu menentukan tipe komputasi rahasia dan menggunakan machine type yang mendukung confidential compute.

Dari baris perintah, gunakan --confidential-compute-type dan --machine-type.

Menjalankan instance confidential menggunakan tipe rahasia AMD SEV_SNP
STREAM='stable'
NAME='fcos-cvm-node01'
ZONE='us-central1-a'
CONFIG='example.ign'
MACHINE_TYPE='n2d-standard-2'
gcloud compute instances create                \
    --image-project "fedora-coreos-cloud"      \
    --image-family "fedora-coreos-${STREAM}"   \
    --metadata-from-file "user-data=${CONFIG}" \
    --confidential-compute-type "SEV_SNP"      \
    --machine-type "${MACHINE_TYPE}"           \
    --maintenance-policy terminate             \
    --zone "${ZONE}" "${NAME}"
Menjalankan instance confidential menggunakan tipe rahasia Intel TDX
STREAM='stable'
NAME='fcos-cvm-node01'
ZONE='us-central1-a'
CONFIG='example.ign'
MACHINE_TYPE='c3-standard-4'
gcloud compute instances create                \
    --image-project "fedora-coreos-cloud"      \
    --image-family "fedora-coreos-${STREAM}"   \
    --metadata-from-file "user-data=${CONFIG}" \
    --confidential-compute-type "TDX"    \
    --machine-type "${MACHINE_TYPE}"           \
    --maintenance-policy terminate             \
    --zone "${ZONE}" "${NAME}"
Contoh Verifikasi Boot VM Rahasia
ssh core@<ip address>
# Confirm the VM is using `AMD SEV-SNP` confidential type
sudo systemd-detect-virt --cvm
sev-snp

# Pastikan VM menggunakan tipe rahasia `Intel TDX`
sudo systemd-detect-virt --cvm
tdx
---