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ślireset_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.
Powiązana zawartość
- Przejdź do witryny Azure Marketplace , aby utworzyć maszynę wirtualną FreeBSD.