Delen via


Inleiding tot FreeBSD op Azure

Van toepassing op: ✔️ Flexibele schaalsets voor Linux-VM's ✔️

Dit artikel bevat een overzicht van het uitvoeren van een virtuele FreeBSD-machine (VM) in Azure.

Overzicht

FreeBSD voor Azure is een geavanceerd computerbesturingssysteem dat wordt gebruikt voor moderne servers, desktops en ingesloten platforms.

Microsoft maakt installatiekopieën van FreeBSD beschikbaar in Azure met de Azure VM-gastagent vooraf geconfigureerd. Momenteel worden de volgende FreeBSD-versies aangeboden als afbeeldingen door Microsoft:

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

De volgende FreeBSD-versies bevatten ook de Azure VM-gastagent. Ze worden aangeboden als afbeeldingen door de FreeBSD Foundation:

  • FreeBSD 11.4 in Azure Marketplace
  • FreeBSD 12.2 in Azure Marketplace
  • FreeBSD 13.0 in Azure Marketplace

De agent is verantwoordelijk voor communicatie tussen de FreeBSD-VM en de Azure-infrastructuur voor bewerkingen zoals het inrichten van de VM bij eerste gebruik (gebruikersnaam, wachtwoord of SSH-sleutel en hostnaam) en het inschakelen van functionaliteit voor selectieve VM-extensies.

Wat toekomstige versies van FreeBSD betreft, is de strategie om actueel te blijven en de nieuwste releases beschikbaar te maken kort nadat ze zijn gepubliceerd door het FreeBSD release engineering team.

Een FreeBSD-VM maken via de Azure CLI op FreeBSD

Eerst moet u de Azure CLI installeren via de volgende opdracht op een FreeBSD-computer:

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

Als bash niet op uw FreeBSD-computer is geïnstalleerd, voert u de volgende opdracht uit vóór de installatie:

sudo pkg install bash

Als Python niet is geïnstalleerd op uw FreeBSD-computer, voert u de volgende opdrachten uit vóór de installatie:

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

Tijdens de installatie wordt u gevraagd .Modify profile to update your $PATH and enable shell/tab completion now? (Y/n) Als u antwoordt y en invoert /etc/rc.conf als a path to an rc file to update, ziet ERROR: [Errno 13] Permission deniedu mogelijk . Om dit probleem op te lossen, moet u de schrijfmachtiging verlenen aan de huidige gebruiker op basis van het bestand etc/rc.conf.

Nu kunt u zich aanmelden bij Azure en uw FreeBSD VM maken. In het volgende voorbeeld ziet u hoe u een FreeBSD 11.0 VM maakt. U kunt de parameter --public-ip-address-dns-name ook toevoegen met een globaal unieke DNS-naam voor een nieuw gemaakt openbaar IP-adres.

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

Vervolgens kunt u zich aanmelden bij uw FreeBSD VM via het IP-adres dat wordt afgedrukt in de uitvoer van de voorgaande implementatie.

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

VM-extensies voor FreeBSD

De volgende VM-extensies worden ondersteund in FreeBSD.

VMAccess

De VMAccess-extensie kan het volgende doen:

  • Stel het wachtwoord van de oorspronkelijke sudo-gebruiker opnieuw in.
  • Maak een nieuwe sudo-gebruiker met het opgegeven wachtwoord.
  • Stel de openbare hostsleutel in met de opgegeven sleutel.
  • Stel de openbare hostsleutel die is opgegeven tijdens het inrichten van de VIRTUELE machine opnieuw in als de hostsleutel niet is opgegeven.
  • Open de SSH-poort (22) en herstel de sshd_config if reset_ssh is ingesteld op true.
  • Verwijder de bestaande gebruiker.
  • Controleer schijven.
  • Herstel een toegevoegde schijf.

CustomScript

De CustomScript-extensie kan het volgende doen:

  • Als dit is opgegeven, downloadt u de aangepaste scripts uit Azure Storage of externe openbare opslag (bijvoorbeeld GitHub).
  • Voer het invoerpuntscript uit.
  • Ondersteuning voor inlineopdrachten.
  • Converteer nieuwe regel in Windows-stijl in shell- en Python-scripts automatisch.
  • Verwijder bom in shell- en Python-scripts automatisch.
  • Gevoelige gegevens beveiligen in CommandToExecute.

Notitie

FreeBSD VM ondersteunt nu alleen CustomScript versie 1.x.

Verificatie: Gebruikersnamen, wachtwoorden en SSH-sleutels

Wanneer u een FreeBSD-VM maakt met behulp van Azure Portal, moet u een gebruikersnaam, wachtwoord of openbare SSH-sleutel opgeven.

Gebruikersnamen voor het implementeren van een FreeBSD-VM in Azure mogen niet overeenkomen met de namen van systeemaccounts (UID <100) die al aanwezig zijn in de VM ('root', bijvoorbeeld).

Momenteel wordt alleen de RSA SSH-sleutel ondersteund. Een SSH-sleutel met meerdere regels moet beginnen met ---- BEGIN SSH2 PUBLIC KEY ---- en eindigen met ---- END SSH2 PUBLIC KEY ----.

Superuser-bevoegdheden verkrijgen

Het gebruikersaccount dat is opgegeven tijdens de implementatie van het VM-exemplaar in Azure, is een bevoegd account. Het pakket van sudo is geïnstalleerd in de gepubliceerde FreeBSD-installatiekopieën.

Nadat u bent aangemeld via dit gebruikersaccount, kunt u opdrachten uitvoeren als root met behulp van de opdrachtsyntaxis.

$ sudo <COMMAND>

U kunt eventueel een hoofdshell verkrijgen met behulp van sudo -s.

Bekende problemen

De Azure VM-gastagent versie 2.2.2 heeft een bekend probleem dat de inrichtingsfout veroorzaakt voor FreeBSD VM in Azure. De oplossing is vastgelegd door azure VM-gastagent versie 2.2.3 en latere versies.