Udostępnij za pośrednictwem


Wprowadzenie do systemu FreeBSD na platformie Azure

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux — elastyczne zestawy skalowania ✔️

Ten artykuł zawiera omówienie uruchamiania maszyny wirtualnej FreeBSD na platformie Azure.

Omówienie

FreeBSD for Azure to zaawansowany system operacyjny komputera używany do zasilania nowoczesnych serwerów, komputerów stacjonarnych i platform osadzonych.

Firma Microsoft udostępnia obrazy freeBSD na platformie Azure za pomocą wstępnie skonfigurowanego agenta gościa maszyny wirtualnej platformy Azure. Obecnie następujące wersje FreeBSD są oferowane jako obrazy przez firmę Microsoft:

  • FreeBSD 10.4 w witrynie Azure Marketplace
  • FreeBSD 11.2 w witrynie Azure Marketplace
  • FreeBSD 11.3 w witrynie Azure Marketplace
  • FreeBSD 12.0 w witrynie Azure Marketplace

Poniższe wersje freeBSD obejmują również agenta gościa maszyny wirtualnej platformy Azure. Są one oferowane jako obrazy przez FreeBSD Foundation:

  • FreeBSD 11.4 w witrynie Azure Marketplace
  • FreeBSD 12.2 w witrynie Azure Marketplace
  • FreeBSD 13.0 w witrynie Azure Marketplace

Agent jest odpowiedzialny za komunikację między maszyną wirtualną FreeBSD a siecią szkieletową platformy Azure na potrzeby operacji, takich jak aprowizowanie maszyny wirtualnej podczas pierwszego użycia (nazwa użytkownika, hasło lub klucz SSH oraz nazwa hosta) oraz włączanie funkcji dla selektywnych rozszerzeń maszyn wirtualnych.

Jeśli chodzi o przyszłe wersje FreeBSD, strategia polega na utrzymaniu aktualności i udostępnieniu najnowszych wersji wkrótce po ich opublikowaniu przez zespół inżynierów wydania FreeBSD.

Tworzenie maszyny wirtualnej FreeBSD za pomocą interfejsu wiersza polecenia platformy Azure w usłudze FreeBSD

Najpierw musisz zainstalować interfejs wiersza polecenia platformy Azure za pomocą następującego polecenia na maszynie FreeBSD:

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

Jeśli powłoka bash nie jest zainstalowana na maszynie FreeBSD, uruchom następujące polecenie przed instalacją:

sudo pkg install bash

Jeśli język Python nie jest zainstalowany na maszynie FreeBSD, uruchom następujące polecenia przed instalacją:

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

Podczas instalacji zostanie wyświetlony monit o Modify profile to update your $PATH and enable shell/tab completion now? (Y/n)podanie polecenia . Jeśli odpowiadasz y i wprowadzasz /etc/rc.conf jako a path to an rc file to update, może zostać wyświetlony komunikat ERROR: [Errno 13] Permission denied. Aby rozwiązać ten problem, należy przyznać bieżącemu użytkownikowi uprawnienie do zapisu względem pliku etc/rc.conf.

Teraz możesz zalogować się na platformie Azure i utworzyć maszynę wirtualną FreeBSD. W poniższym przykładzie pokazano, jak utworzyć maszynę wirtualną FreeBSD 11.0. Można również dodać parametr --public-ip-address-dns-name z globalnie unikatową nazwą DNS dla nowo utworzonego publicznego adresu IP.

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

Następnie możesz zalogować się do maszyny wirtualnej FreeBSD za pomocą adresu IP wydrukowanego w danych wyjściowych poprzedniego wdrożenia.

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

Rozszerzenia maszyn wirtualnych dla freeBSD

Następujące rozszerzenia maszyn wirtualnych są obsługiwane w usłudze FreeBSD.

VmAccess

Rozszerzenie VMAccess może:

  • Zresetuj hasło oryginalnego użytkownika sudo.
  • Utwórz nowego użytkownika sudo z określonym hasłem.
  • Ustaw klucz hosta publicznego przy użyciu podanego klucza.
  • Zresetuj klucz hosta publicznego podany podczas aprowizacji maszyny wirtualnej, jeśli nie podano klucza hosta.
  • Otwórz port SSH (22) i przywróć sshd_config wartość , jeśli reset_ssh ustawiono wartość true.
  • Usuń istniejącego użytkownika.
  • Sprawdź dyski.
  • Napraw dodany dysk.

CustomScript

Rozszerzenie CustomScript może:

  • Jeśli to możliwe, pobierz dostosowane skrypty z usługi Azure Storage lub zewnętrznego magazynu publicznego (na przykład GitHub).
  • Uruchom skrypt punktu wejścia.
  • Obsługa poleceń wbudowanych.
  • Automatyczne konwertowanie nowego wiersza w stylu systemu Windows w powłoce i skryptach języka Python.
  • Automatycznie usuwaj model BOM w skryptach powłoki i języka Python.
  • Ochrona poufnych danych w programie CommandToExecute.

Uwaga

Maszyna wirtualna FreeBSD obsługuje teraz tylko wersję CustomScript w wersji 1.x.

Uwierzytelnianie: nazwy użytkowników, hasła i klucze SSH

Podczas tworzenia maszyny wirtualnej FreeBSD przy użyciu witryny Azure Portal musisz podać nazwę użytkownika, hasło lub klucz publiczny SSH.

Nazwy użytkowników do wdrażania maszyny wirtualnej FreeBSD na platformie Azure nie mogą być zgodne z nazwami kont systemowych (UID <100) już obecnych na maszynie wirtualnej ("root", na przykład).

Obecnie obsługiwany jest tylko klucz SSH RSA. Wielowierszowy klucz SSH musi zaczynać się od ---- BEGIN SSH2 PUBLIC KEY ---- i kończyć się ciągiem ---- END SSH2 PUBLIC KEY ----.

Uzyskiwanie uprawnień administratora

Konto użytkownika określone podczas wdrażania wystąpienia maszyny wirtualnej na platformie Azure jest kontem uprzywilejowanym. Pakiet sudo został zainstalowany na opublikowanym obrazie FreeBSD.

Po zalogowaniu się za pomocą tego konta użytkownika możesz uruchamiać polecenia jako katalog główny przy użyciu składni poleceń.

$ sudo <COMMAND>

Opcjonalnie możesz uzyskać powłokę główną przy użyciu polecenia sudo -s.

Znane problemy

Agent gościa maszyny wirtualnej platformy Azure w wersji 2.2.2 ma znany problem, który powoduje niepowodzenie aprowizacji maszyny wirtualnej FreeBSD na platformie Azure. Poprawka została przechwycona przez agenta gościa maszyny wirtualnej platformy Azure w wersji 2.2.3 lub nowszej.