Pengantar FreeBSD di Azure

Berlaku untuk: ✔️ VM Linux ✔️ Set skala fleksibel

Artikel ini memberikan gambaran umum tentang cara mennggunakan mesin virtual FreeBSD di Azure.

Gambaran Umum

FreeBSD untuk Microsoft Azure adalah sistem operasi komputer canggih yang digunakan untuk mendukung server modern, desktop, dan platform tertanam.

Microsoft Corporation menyediakan gambar FreeBSD di Azure dengan Azure VM Guest Agent yang telah dikonfigurasi sebelumnya. Saat ini, versi FreeBSD berikut ditawarkan sebagai gambar oleh Microsoft:

  • FreeBSD 10.4 di Azure Marketplace
  • FreeBSD 11.2 di Azure Marketplace
  • FreeBSD 11.3 di Azure Marketplace
  • FreeBSD 12.0 di Azure Marketplace

Versi FreeBSD berikut juga menyertakan Azure VM Guest Agent, namun, versi tersebut ditawarkan sebagai gambar oleh FreeBSD Foundation:

  • FreeBSD 11.4 di Azure Marketplace
  • FreeBSD 12.2 di Azure Marketplace
  • FreeBSD 13.0 di Azure Marketplace

Agen bertanggung jawab untuk komunikasi antara FreeBSD VM dan fabrik Azure untuk operasi seperti penyediaan VM pada penggunaan pertama (nama pengguna, kata sandi atau kunci SSH, nama host, dll.) serta mengaktifkan fungsionalitas untuk ekstensi VM tertentu.

Untuk versi FreeBSD yang akan datang, strategi Microsoft adalah agar tetap terkini dan membuat rilis terbaru tersedia segera setelah dipublikasikan oleh tim teknik rilis FreeBSD.

Buat FreeBSD VM melalui Azure CLI di FreeBSD

Pertama, Anda perlu menginstal Azure CLI melalui perintah berikut pada mesin FreeBSD.

curl -L https://aka.ms/InstallAzureCli | bash

Jika bash tidak diinstal pada mesin FreeBSD Anda, jalankan perintah berikut sebelum menginstal. 

sudo pkg install bash

Jika Python tidak diinstal pada mesin FreeBSD Anda, jalankan perintah berikut sebelum instalasi. 

sudo pkg install python38
cd /usr/local/bin 
sudo rm /usr/local/bin/python 
sudo ln -s /usr/local/bin/python3.8 /usr/local/bin/python

Selama penginstalan, Anda akan mendapatkan pertanyaan Modify profile to update your $PATH and enable shell/tab completion now? (Y/n). Jika Anda menjawab y dan memasukkan /etc/rc.conf sebagai a path to an rc file to update, Anda mungkin mengalami masalah ERROR: [Errno 13] Permission denied. Untuk mengatasi masalah ini, Anda harus memberikan hak tulis kepada pengguna saat ini terhadap berkas etc/rc.conf.

Anda kini dapat masuk ke Azure dan membuat FreeBSD VM Anda. Di bawah ini adalah contoh cara membuat FreeBSD 11.0 VM. Anda juga dapat menambahkan parameter --public-ip-address-dns-name dengan nama DNS unik global untuk IP Publik yang baru dibuat.

az login 
az group create --name myResourceGroup --location eastus
az vm create --name myFreeBSD11 \
    --resource-group myResourceGroup \
    --image MicrosoftOSTC:FreeBSD:11.0:latest \
    --admin-username azureuser \
    --generate-ssh-keys

Kemudian, Anda dapat masuk ke FreeBSD VM Anda melalui alamat ip yang tercetak pada output penerapan di atas.

ssh azureuser@xx.xx.xx.xx -i /etc/ssh/ssh_host_rsa_key

Ekstensi VM untuk FreeBSD

Berikut ini adalah ekstensi VM yang didukung di FreeBSD.

VMAccess

Ekstensi VMAccess dapat:

  • Mereset kata sandi pengguna sudo asli.
  • Memuat pengguna sudo baru dengan kata sandi yang ditentukan.
  • Mengatur kunci host publik dengan kunci yang diberikan.
  • Mereset kunci host publik yang diberikan selama penyediaan VM jika kunci host tidak diberikan.
  • Memuka port SSH (22) dan pulihkan sshd_config jika reset_ssh diatur ke true.
  • Menghapus pengguna yang ada.
  • Memeriksa disk.
  • Memperbaiki disk yang ditambahkan.

CustomScript

Ekstensi CustomScript dapat:

  • Jika disediakan, ekstensi dapat mengunduh skrip yang disesuaikan dari Azure Storage atau penyimpanan publik eksternal (misalnya, GitHub).
  • Menjalankan skrip titik masuk.
  • Mendukung perintah sebaris.
  • Mengubah baris baru bergaya Windows dalam skrip shell dan Python secara otomatis.
  • Menghapus BOM di shell dan skrip Python secara otomatis.
  • Melindungi data sensitif di CommandToExecute.

Catatan

FreeBSD VM saat ini hanya mendukung CustomScript versi 1.x.

Autentikasi: nama pengguna, kata sandi, dan kunci SSH

Saat Anda membuat mesin virtual FreeBSD dengan menggunakan portal Microsoft Azure, Anda harus memberikan nama pengguna, kata sandi, atau kunci publik SSH. Nama pengguna untuk menyebarkan mesin virtual FreeBSD di Azure tidak boleh sama dengan nama akun sistem (UID <100) yang sudah ada di mesin virtual ("root", misalnya). Saat ini, hanya kunci RSA SSH yang didukung. Kunci SSH multibaris harus dimulai dengan ---- BEGIN SSH2 PUBLIC KEY ---- dan diakhiri dengan ---- END SSH2 PUBLIC KEY ----.

Mendapatkan hak pengguna super

Akun pengguna yang ditentukan selama penerapan contoh mesin virtual di Azure adalah akun istimewa. Paket sudo telah diinstal pada gambar FreeBSD yang dipublikasikan. Setelah Anda masuk menggunakan akun pengguna ini, Anda dapat menjalankan perintah sebagai root dengan menggunakan sintaks perintah.

$ sudo <COMMAND>

Anda dapat secara opsional mendapatkan shell root dengan menggunakan sudo -s.

Masalah yang diketahui

Azure VM Guest Agent versi 2.2.2 memiliki masalah umum yang menyebabkan kegagalan penyediaan FreeBSD VM di Azure. Perbaikan masalah dilakukan pada Azure VM Guest Agent versi 2.2.3 dan rilis yang lebih baru.

Langkah berikutnya