Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: ✔️ Linux VMs ✔️ Conjuntos de escala flexível
Este artigo mostra como usar o cloud-init para atualizar pacotes em uma máquina virtual (VM) Linux ou conjuntos de dimensionamento de máquina virtual no momento do provisionamento no Azure. Esses scripts de inicialização na nuvem são executados na primeira inicialização depois que os recursos são provisionados pelo Azure. Para obter mais informações sobre como o cloud-init funciona nativamente no Azure e nas distribuições Linux suportadas, consulte visão geral do cloud-init
Atualizar uma VM com cloud-init
Para fins de segurança, convém configurar uma VM para aplicar as atualizações mais recentes na primeira inicialização. Como o cloud-init funciona em diferentes distros Linux, não há necessidade de especificar apt, zypper ou yum para o gerenciador de pacotes. Em vez disso, você define package_upgrade e permite que o processo cloud-init determine o mecanismo apropriado para a distro em uso.
Para este exemplo, usamos o Azure Cloud Shell. Para ver o processo de atualização em ação, crie um arquivo chamado cloud_init_upgrade.txt e cole a seguinte configuração. Pode utilizar qualquer editor que desejar. Certifique-se de que todo o arquivo cloud-init é copiado corretamente, especialmente a primeira linha.
Copie o texto abaixo e cole-o no cloud_init_upgrade.txt arquivo. Certifique-se de que todo o arquivo cloud-init é copiado corretamente, especialmente a primeira linha.
#cloud-config
package_upgrade: true
packages:
- httpd
Antes de implantar, você precisa criar um grupo de recursos com o comando az group create . Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. O exemplo seguinte cria um grupo de recursos com o nome myResourceGroup na localização eastus.
az group create --name myResourceGroup --location eastus
Agora, crie uma VM com az vm create e especifique o arquivo cloud-init com o --custom-data parâmetro da seguinte maneira:
az vm create \
--resource-group myResourceGroup \
--name vmName \
--image imageCIURN \
--custom-data cloud_init_upgrade.txt \
--admin-username azureuser \
--generate-ssh-keys
Observação
Substitua os valores de myResourceGroup, vmName e imageCIURN conforme necessário. Certifique-se de que uma imagem com Cloud-init foi escolhida.
SSH para o endereço IP público da sua VM mostrado na saída do comando anterior. Digite seu próprio usuário e publicIpAddress da seguinte maneira:
ssh <user>@<publicIpAddress>
Execute a ferramenta de gerenciamento de pacotes e verifique se há atualizações:
- Execute o seguinte comando para confirmar que não há atualizações pendentes
sudo yum check-update
Como o cloud-init verificou e instalou atualizações na inicialização, não deve haver atualizações adicionais a serem aplicadas.
- Você pode ver o processo de atualização, o número de pacotes alterados e a instalação do
httpdexecutando o seguinte comando e revisar a saída.
sudo yum history
ID | Command line | Date and time | Action(s) | Altered
--------------------------------------------------------------------------------------------------
3 | -y install httpd | 2022-02-18 18:30 | Install | 7
2 | -y upgrade | 2022-02-18 18:23 | I, O, U | 321 EE
1 | | 2021-02-04 19:20 | Install | 496 EE
Próximos passos
Para obter exemplos adicionais de alterações de configuração na nuvem, consulte o seguinte: