Delen via


Inleiding tot FreeBSD op Azure

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

Dit artikel biedt een overzicht van het uitvoeren van een Virtuele FreeBSD-machine in Azure.

Overzicht

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

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

  • FreeBSD 10.4 op de Azure Marketplace
  • FreeBSD 11.2 op de Azure Marketplace
  • FreeBSD 11.3 op de Azure Marketplace
  • FreeBSD 12.0 op de Azure Marketplace

De volgende FreeBSD versies bevatten ook de Azure VM Guest Agent, maar ze worden aangeboden als installatiekopieën door de FreeBSD Foundation:

  • FreeBSD 11.4 op de Azure Marketplace
  • FreeBSD 12.2 op de Azure Marketplace
  • FreeBSD 13.0 op de Azure Marketplace

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

Wat betreft toekomstige versies van FreeBSD, de strategie is om up-to-date 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 Azure CLI op FreeBSD

Eerst moet u Azure CLI installeren via de volgende opdracht op een FreeBSD-machine.

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

Als bash niet is geïnstalleerd op uw FreeBSD machine, voer dan de volgende opdracht uit vóór de installatie. 

sudo pkg install bash

Als Python niet is geïnstalleerd op uw FreeBSD machine, voer dan 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, kunt u aan het probleem ERROR: [Errno 13] Permission deniedvoldoen. Om dit probleem op te lossen, moet u het schrijfrecht verlenen aan de huidige gebruiker voor het bestand etc/rc.conf.

Nu kunt u zich aanmelden bij Azure en uw FreeBSD VM maken. Hieronder ziet u een voorbeeld om een FreeBSD 11.0 VM te maken. U kunt ook de parameter --public-ip-address-dns-name toevoegen met een wereldwijd 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 is afgedrukt in de uitvoer van de bovenstaande implementatie.

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

VM-extensies voor FreeBSD

Hieronder volgen ondersteunde VM-extensies in FreeBSD.

VMAccess

De VMAccess-extensie kan:

  • 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 VM opnieuw in als de hostsleutel niet is opgegeven.
  • Open de SSH-poort (22) en herstel de sshd_config als reset_ssh is ingesteld op true.
  • Verwijder de bestaande gebruiker.
  • Controleer schijven.
  • Herstel een toegevoegde schijf.

CustomScript

Met de CustomScript-extensie kunt u het volgende doen:

  • Indien opgegeven, downloadt u de aangepaste scripts vanuit Azure Storage of externe openbare opslag (bijvoorbeeld GitHub).
  • Voer het toegangspuntscript uit.
  • Ondersteuning voor inline opdrachten.
  • Converteer nieuwe regel in Windows-stijl automatisch in shell- en Python-scripts.
  • Stuklijst in shell- en Python-scripts automatisch verwijderen.
  • Bescherm gevoelige gegevens in CommandToExecute.

Notitie

FreeBSD VM ondersteunt nu alleen CustomScript versie 1.x.

Verificatie: gebruikersnamen, wachtwoorden en SSH-sleutels

Wanneer u een FreeBSD virtuele machine maakt met behulp van de Azure Portal, moet u een gebruikersnaam, wachtwoord of openbare SSH-sleutel opgeven. Gebruikersnamen voor het implementeren van een Virtuele FreeBSD-machine in Azure mogen niet overeenkomen met namen van systeemaccounts (UID <100) die al aanwezig zijn in de virtuele machine ('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 ----.

Bevoegdheden voor supergebruikers verkrijgen

Het gebruikersaccount dat is opgegeven tijdens de implementatie van het exemplaar van de virtuele machine 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 als hoofdmap uitvoeren met behulp van de syntaxis van de opdracht.

$ sudo <COMMAND>

U kunt desgewenst 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 voor FreeBSD VM in Azure veroorzaakt. De oplossing is vastgelegd door Azure VM-gastagent versie 2.2.3 en latere releases.

Volgende stappen