Virtualisasi
Apa itu cloud-init?
cloud-init is the standard mechanism for configuring a virtual machine on first boot, using metadata supplied by the platform. It handles SSH key injection, hostname, network configuration and arbitrary user scripts, which is what makes fully automated provisioning possible.
Mengapa cloud-init penting
Ini menangani injeksi kunci SSH, hostname, konfigurasi jaringan, dan skrip pengguna arbitrer, yang memungkinkan provisioning otomatis penuh.
cloud-init dalam praktik
Pada boot pertama, cloud-init berjalan sebelum layanan Anda dimulai. Anda akan memantau konsol untuk 'running modules' dan memeriksa /var/log/cloud-init-output.log. Skrip user-data yang salah konfigurasi dapat menggantung boot atau mengunci SSH. Anda akan menguji di instance sekali pakai terlebih dahulu. Anda dapat menjalankan ulang dengan 'cloud-init clean' dan reboot. Kesalahan akan membuat Anda kehilangan waktu untuk provisioning ulang dari panel, atau sesi VNC untuk memperbaikinya secara manual.
Kesalahan umum tentang cloud-init
Kesalahan umum adalah menganggap cloud-init berjalan ulang setiap kali boot. Ia hanya berjalan sekali pada boot pertama. Jika Anda menambahkan skrip ke user-data dengan harapan skrip itu diterapkan saat restart, itu tidak akan terjadi. Perbaikannya: gunakan hanya untuk penyediaan awal, atau panggil secara eksplisit 'cloud-init clean' untuk mengatur ulang status agar berjalan baru.
cloud-init — pertanyaan umum
Bagaimana cara mengirimkan user-data ke cloud-init?
Saat menyediakan dari panel atau API, Anda dapat memasukkan bidang user-data. Bidang itu disuntikkan melalui metadata, dan cloud-init menerapkannya pada boot pertama. Gunakan sebagai skrip shell atau YAML cloud-config, tergantung apa yang Anda butuhkan.
Bisakah saya menggunakan cloud-init dengan ISO kustom?
Ya, jika ISO tersebut memiliki cloud-init yang terinstal. Misalnya, citra cloud dari distro utama sudah menyertakannya. Anda juga dapat mengunggah citra sendiri dengan cloud-init. Pastikan instansnya KVM, bukan kontainer, karena cloud-init bergantung pada metadata yang disediakan platform.
Lainnya dari virtualisasi
- KVM
- KVM adalah virtualisasi perangkat keras penuh yang dibangun ke dalam kernel Linux, memberi setiap tamu kernelnya sendiri dan isolasi yang ditegakkan perangkat keras dari penyewa lain.
- OpenVZ
- OpenVZ adalah virtualisasi berbasis kontainer di mana setiap instance berbagi kernel host, sehingga tamu tidak dapat memuat modul kernel atau menjalankan sistem operasi yang berbeda.
- LXC
- LXC adalah kontainerisasi asli Linux yang mengisolasi proses dengan namespaces dan cgroups sambil berbagi kernel host.
- Hypervisor
- Hypervisor adalah lapisan perangkat lunak yang membuat dan menjalankan mesin virtual, mengalokasikan CPU fisik, memori, dan IO di antara mereka.
- Virtualisasi bersarang
- Virtualisasi bersarang memungkinkan mesin virtual itu sendiri menjalankan mesin virtual, dengan mengekspos ekstensi virtualisasi prosesor ke tamu.
- vCPU
- vCPU adalah prosesor virtual yang disajikan ke tamu, didukung oleh waktu penjadwalan pada inti fisik atau utas.