Adicionar imagens do Linux ao Marketplace do Azure Stack Hub

Atenção

Este artigo refere-se ao CentOS, uma distribuição do Linux que se aproxima do estado end of life (EOL). Considere a sua utilização e planeie em conformidade. Para obter mais informações, veja a documentação de orientação Sobre o Fim de Vida do CentOS.

Pode implementar máquinas virtuais (VMs) do Linux no Azure Stack Hub ao adicionar uma imagem baseada em Linux ao Marketplace do Azure Stack Hub. A forma mais fácil de adicionar uma imagem do Linux ao Azure Stack Hub é através da gestão do marketplace. Estas imagens foram preparadas e testadas para compatibilidade com o Azure Stack Hub.

Gestão do Marketplace

Para transferir imagens do Linux a partir de Azure Marketplace, veja Transferir itens do marketplace do Azure para o Azure Stack Hub. Selecione as imagens do Linux que pretende oferecer aos utilizadores no Azure Stack Hub.

Existem atualizações frequentes a estas imagens, pelo que deve voltar a verificar com frequência para se manter atualizado.

Preparar a sua própria imagem

Sempre que possível, transfira as imagens disponíveis através da gestão do marketplace. Estas imagens foram preparadas e testadas com o Azure Stack Hub.

Agente Linux do Azure mínimo suportado

Para obter suporte para o Agente Linux do Azure e extensões no Azure Stack Hub, a versão do Agente Linux na máquina virtual (VM) do Linux tem de ser posterior ou igual à versão 2.2.10 e o Azure Stack Hub tem de executar uma compilação que esteja dentro de duas versões da versão atual. Para obter informações sobre as atualizações do Azure Stack Hub, veja Notas de versão do Azure Stack Hub.

A partir de julho de 2020, a versão mínima suportada é 2.2.41 para o Agente Linux. Se a versão do Agente Linux for anterior à versão 2.2.10, tem de atualizar a VM com o gestor de pacotes de distribuição e ativando a atualização automática.

  • Se o fornecedor de distribuição não tiver a versão mínima do Agente do Linux nos repositórios de pacotes, o sistema ainda é suportado. Se a versão do Agente Linux for posterior à versão 2.1.7, tem de ativar a funcionalidade de atualização automática do Agente. Essa versão obterá a versão mais recente do código para o processamento de extensões.
  • Se a versão do Agente Linux for anterior à versão 2.2.10 ou se o sistema Linux não tiver suporte, poderemos exigir que atualize o agente antes de obter suporte.
  • Se a versão do Agente do Linux for personalizada por um publicador, a Microsoft poderá direcioná-lo para o publicador para obter suporte específico do agente de suporte ou da extensão devido à personalização. Para atualizar o Agente do Linux, veja Como atualizar o Agente do Linux do Azure numa VM.

Verificar a Versão do Agente do Linux

Para verificar a Versão do Agente do Linux, execute:

waagent --version

Por exemplo, se estiver a executar este comando no Ubuntu 18.04, verá o resultado:

WALinuxAgent - 2.2.45
Python - 3.6.9
Goal State Agent - 2.2.48.1

Para obter mais informações sobre o agente, consulte as FAQ do WALinuxAgent.

Preparar a sua própria imagem do Linux

Pode preparar a sua própria imagem do Linux com as seguintes instruções:

Inicialização da cloud

Pode utilizar o Cloud-init para personalizar a sua VM do Linux. Pode utilizar as seguintes instruções do PowerShell.

Passo 1: criar um ficheiro de cloud-init.txt com a configuração da cloud

Crie um ficheiro com o nome cloud-init.txt e cole a seguinte configuração na cloud:

#cloud-config
package_upgrade: true
packages:
  - nginx
  - nodejs
  - npm
write_files:
  - owner: www-data:www-data
    path: /etc/nginx/sites-available/default
    content: |
      server {
        listen 80;
        location / {
          proxy_pass http://localhost:3000;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection keep-alive;
          proxy_set_header Host $host;
          proxy_cache_bypass $http_upgrade;
        }
      }
  - owner: azureuser:azureuser
    path: /home/azureuser/myapp/index.js
    content: |
      var express = require('express')
      var app = express()
      var os = require('os');
      app.get('/', function (req, res) {
        res.send('Hello World from host ' + os.hostname() + '!')
      })
      app.listen(3000, function () {
        console.log('Hello world app listening on port 3000!')
      })
runcmd:
  - service nginx restart
  - cd "/home/azureuser/myapp"
  - npm init
  - npm install express -y
  - nodejs index.js

Passo 2: referência cloud-init.txt durante a implementação da VM do Linux

Carregue o ficheiro para uma conta de armazenamento do Azure, conta de armazenamento do Azure Stack Hub ou repositório do GitHub acessível pela VM linux do Azure Stack Hub.

Atualmente, a utilização do cloud-init para a implementação da VM só é suportada em REST, PowerShell e CLI do Azure e não tem uma IU de portal associada no Azure Stack Hub.

Pode seguir o Início Rápido: Criar uma VM do servidor Linux com o PowerShell no Azure Stack Hub para criar a VM do Linux com o PowerShell. Certifique-se de que referencia o cloud-init.txt como parte do -CustomData sinalizador:

$VirtualMachine =Set-AzVMOperatingSystem -VM $VirtualMachine `
  -Linux `
  -ComputerName "MainComputer" `
  -Credential $cred -CustomData "#include https://cloudinitstrg.blob.core.windows.net/strg/cloud-init.txt"

Adicionar a sua imagem ao Marketplace

Siga Adicionar a imagem ao Marketplace. Certifique-se de que o OSType parâmetro está definido como Linux.

Depois de adicionar a imagem ao Marketplace, é criado um item do Marketplace e os utilizadores podem implementar uma VM do Linux.

Passos seguintes