Share via


Introdução ao FreeBSD no Azure

Aplica-se a: ✔️ Conjuntos de dimensionamento flexíveis de VMs ✔️ do Linux

Este artigo fornece uma descrição geral da execução de uma máquina virtual FreeBSD no Azure.

Descrição Geral

O FreeBSD para o Microsoft Azure é um sistema operativo de computador avançado utilizado para alimentar servidores, ambientes de trabalho e plataformas incorporadas modernos.

A Microsoft Corporation está a disponibilizar imagens do FreeBSD no Azure com o Agente Convidado da VM do Azure pré-configurado. Atualmente, as seguintes versões do FreeBSD são oferecidas como imagens pela Microsoft:

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

As seguintes versões do FreeBSD também incluem o Agente Convidado da VM do Azure. No entanto, são oferecidas como imagens pela FreeBSD Foundation:

  • FreeBSD 11.4 no Azure Marketplace
  • FreeBSD 12.2 no Azure Marketplace
  • FreeBSD 13.0 no Azure Marketplace

O agente é responsável pela comunicação entre a VM FreeBSD e os recursos de infraestrutura do Azure para operações como o aprovisionamento da VM na primeira utilização (nome de utilizador, palavra-passe ou chave SSH, nome do anfitrião, etc.) e a ativação da funcionalidade para extensões de VM seletivas.

Quanto às versões futuras do FreeBSD, a estratégia é manter-se atualizado e disponibilizar as versões mais recentes pouco depois de serem publicadas pela equipa de engenharia de lançamentos FreeBSD.

Criar uma VM FreeBSD através da CLI do Azure no FreeBSD

Primeiro, tem de instalar a CLI do Azure , embora siga o comando num computador FreeBSD.

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

Se o bash não estiver instalado no seu computador FreeBSD, execute o seguinte comando antes da instalação. 

sudo pkg install bash

Se o Python não estiver instalado no seu computador FreeBSD, execute os seguintes comandos antes da instalação. 

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

Durante a instalação, é-lhe pedido Modify profile to update your $PATH and enable shell/tab completion now? (Y/n). Se responder y e introduzir /etc/rc.conf como a path to an rc file to update, poderá encontrar o problema ERROR: [Errno 13] Permission denied. Para resolver este problema, deve conceder o direito de escrita ao utilizador atual relativamente ao ficheiro etc/rc.conf.

Agora, pode iniciar sessão no Azure e criar a VM FreeBSD. Segue-se um exemplo para criar uma VM FreeBSD 11.0. Também pode adicionar o parâmetro --public-ip-address-dns-name com um nome DNS globalmente exclusivo para um IP Público recentemente criado.

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

Em seguida, pode iniciar sessão na sua VM FreeBSD através do endereço IP que imprimiu na saída da implementação acima.

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

Extensões de VM para FreeBSD

Seguem-se as extensões de VM suportadas no FreeBSD.

VMAccess

A extensão VMAccess pode:

  • Reponha a palavra-passe do utilizador sudo original.
  • Crie um novo utilizador sudo com a palavra-passe especificada.
  • Defina a chave de anfitrião pública com a chave especificada.
  • Reponha a chave de anfitrião pública fornecida durante o aprovisionamento da VM se a chave de anfitrião não for fornecida.
  • Abra a porta SSH (22) e restaure o sshd_config se reset_ssh estiver definido como verdadeiro.
  • Remover o utilizador existente.
  • Verifique os discos.
  • Reparar um disco adicionado.

CustomScript

A extensão CustomScript pode:

  • Se for fornecido, transfira os scripts personalizados do Armazenamento do Microsoft Azure ou do armazenamento público externo (por exemplo, o GitHub).
  • Execute o script do ponto de entrada.
  • Suporte de comandos inline.
  • Converta automaticamente a nova linha de estilo do Windows em scripts de Shell e Python.
  • Remova o BOM na shell e os scripts python automaticamente.
  • Proteger dados confidenciais em CommandToExecute.

Nota

A VM FreeBSD só suporta a versão 1.x do CustomScript.

Autenticação: nomes de utilizador, palavras-passe e chaves SSH

Quando estiver a criar uma máquina virtual FreeBSD com a portal do Azure, tem de fornecer um nome de utilizador, palavra-passe ou chave pública SSH. Os nomes de utilizador para implementar uma máquina virtual FreeBSD no Azure não podem corresponder aos nomes das contas de sistema (UID <100) já presentes na máquina virtual ("raiz", por exemplo). Atualmente, apenas a chave SSH RSA é suportada. Uma chave SSH com várias linhas tem de começar com ---- BEGIN SSH2 PUBLIC KEY ---- e terminar com ---- END SSH2 PUBLIC KEY ----.

Obter privilégios de superutilizador

A conta de utilizador especificada durante a implementação da instância da máquina virtual no Azure é uma conta com privilégios. O pacote de sudo foi instalado na imagem FreeBSD publicada. Depois de iniciar sessão através desta conta de utilizador, pode executar comandos como raiz com a sintaxe do comando.

$ sudo <COMMAND>

Opcionalmente, pode obter uma shell de raiz com sudo -s.

Problemas conhecidos

A versão 2.2.2 do Agente Convidado da VM do Azure tem um problema conhecido que causa a falha de aprovisionamento da VM FreeBSD no Azure. A correção foi capturada pelo Agente Convidado da VM do Azure versão 2.2.3 e versões posteriores.

Passos seguintes