Penyediaan Fedora CoreOS di IBM Cloud
Panduan ini menunjukkan cara menyediakan instance Fedora CoreOS (FCOS) baru di IBM Cloud untuk arsitektur x86_64 atau s390x.
| FCOS tidak mendukung IBM Cloud Classic Infrastructure. |
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 akun IBM Cloud. Contoh di bawah ini menggunakan alat baris perintah ibmcloud, yang harus diinstal dan dikonfigurasi terlebih dahulu. Ikuti petunjuk di [https://cloud.ibm.com/docs/cli?topic=cli-install-ibmcloud-cli](https://cloud.ibm.com/docs/cli?topic=cli-install-ibmcloud-cli) untuk menginstal ibmcloud CLI. Anda juga perlu menginstal plugin cloud-object-storage dan infrastructure-service. Ini dapat dilakukan dengan:
-
ibmcloud plugin install cloud-object-storage -
ibmcloud plugin install infrastructure-service
Setelah Anda masuk menggunakan ibmcloud login, Anda dapat menetapkan wilayah target:
REGION='us-east' # jalankan `ibmcloud regions` untuk melihat opsi
ibmcloud target -r $REGION
RESOURCE_GROUP='my-resource-group'
ibmcloud resource group-create $RESOURCE_GROUP # Buat grup sumber daya jika belum ada
ibmcloud target -g $RESOURCE_GROUP
Ada juga beberapa komponen lain yang perlu disiapkan, seperti VPC, kunci SSH, jaringan, izin, dan sebagainya. Sayangnya, panduan ini bukan panduan lengkap untuk IBM Cloud. Jika Anda baru menggunakan IBM Cloud, silakan pelajari terlebih dahulu dokumentasi jaringan VPC IBM Cloud.
Membuat Gambar (Image)
Serangkaian perintah berikut menunjukkan cara mengunduh gambar terbaru untuk sebuah stream, mengunggahnya ke penyimpanan cloud, lalu membuat gambar cloud di IBM Cloud. Perlu dicatat bahwa Fedora CoreOS memiliki tiga stream dengan jadwal pembaruan yang berbeda untuk masing-masingnya. Langkah-langkah ini menunjukkan stable stream sebagai contoh, tetapi juga dapat digunakan untuk stream lainnya.
STREAM='stable'
ARCH='x86_64' # atau 's390x'
coreos-installer download -s $STREAM -a $ARCH -p ibmcloud -f qcow2.xz --decompress
BUCKET='my-unique-bucket'
ibmcloud resource service-instance-create "${BUCKET}-service-instance" cloud-object-storage standard global
SERVICE_INSTANCE_ID='25df0db0-89a4-4cb8-900f-ed8b44259f80' # dari akun layanan yang baru dibuat
ibmcloud iam authorization-policy-create is --source-resource-type image cloud-object-storage Reader --target-service-instance-id $SERVICE_INSTANCE_ID
FCOS_VERSION='...'
FILE="fedora-coreos-${FCOS_VERSION}-ibmcloud.${ARCH}.qcow2"
ibmcloud cos create-bucket --bucket $BUCKET --ibm-service-instance-id $SERVICE_INSTANCE_ID
ibmcloud cos upload --bucket=$BUCKET --key="${FILE}" --file="${FILE}"
IMAGE=${FILE:0:-6} # hapus .qcow2
IMAGE=${IMAGE//[._]/-} # ganti . dan _ dengan -
[ $ARCH == 'x86_64' ] && OSNAME='fedora-coreos-stable-amd64'
[ $ARCH == 's390x' ] && OSNAME='red-8-s390x-byol'
ibmcloud is image-create "${IMAGE}" --file "cos://${REGION}/${BUCKET}/${FILE}" --os-name $OSNAME
Untuk s390x, gunakan --os-name=red-8-s390x-byol (profil RHEL 8) karena saat ini belum tersedia profil fedora-coreos-stable-s390x.
|
Anda harus menunggu hingga proses pembuatan gambar selesai dan berubah status dari pending menjadi available sebelum dapat digunakan. Pantau dengan perintah berikut:
ibmcloud is images --visibility private --status pending,available
Menjalankan instance VM
Sekarang setelah Anda memiliki gambar yang dibuat di akun Anda, Anda dapat meluncurkan instance VM. Anda harus menentukan beberapa parameter dalam perintah tersebut. Di dalam contoh di bawah ini terdapat petunjuk cara mendapatkan informasi tersebut sebelum membuat instance.
Anda juga memerlukan konfigurasi Ignition yang telah Anda buat sebelumnya. Dalam contoh perintah ini, konfigurasi tersebut direpresentasikan sebagai @example.ign, yang menunjukkan sebuah berkas di direktori saat ini bernama example.ign. Simbol @ wajib ditambahkan sebelum path ke berkas Ignition.
INSTANCE_NAME='instance1'
ZONE="${REGION}-1" # lihat lebih banyak dengan `ibmcloud is zones`
PROFILE='bx2-2x8' # lihat lebih banyak dengan `ibmcloud is instance-profiles`
VPC='r014-c9c65cc4-cfd3-44de-ad54-865aac182ea1' # `ibmcloud is vpcs`
IMAGE='r014-1823b4cf-9c63-499e-8a27-b771be714ad8' # `ibmcloud is images --visibility private`
SUBNET='0777-bf99cbf4-bc82-4c46-895a-5b7304201182' # `ibmcloud is subnets`
SSHKEY='r014-b44c37d0-5c21-4c2b-aba2-438a5b0a228d' # `ibmcloud is keys`
ibmcloud is instance-create $INSTANCE_NAME $VPC $ZONE $PROFILE $SUBNET \
--allow-ip-spoofing=true --image $IMAGE --keys $SSHKEY --user-data @example.ign
Jika diperlukan, Anda mungkin harus membuat subnet terlebih dahulu dengan perintah seperti ibmcloud is subnet-create my-subnet $VPC --ipv4-address-count 256 --zone $ZONE.
|
Pastikan Anda memilih tipe instance yang sesuai berdasarkan arsitektur Anda. Misalnya, Anda dapat menggunakan bz2-2x8 alih-alih bx2-2x8 jika Anda menargetkan s390x.
|
Selanjutnya, jika Anda ingin melakukan SSH ke instance dari luar IBM Cloud, Anda dapat menetapkan IP publik ke instance tersebut:
FIP_NAME='floating-ip-1'
ibmcloud is floating-ip-reserve $FIP_NAME --zone=$ZONE
VNIC=$(ibmcloud is instance $INSTANCE_NAME --output json |
jq --raw-output .primary_network_attachment.virtual_network_interface.id)
ibmcloud is virtual-network-interface-floating-ip-add $VNIC $FIP_NAME
Sekarang Anda seharusnya dapat melakukan SSH ke instance menggunakan alamat IP yang terkait dengan floating IP tersebut.
ssh core@<ip address>
Want to help? Learn how to contribute to Fedora Docs ›