Criando instantâneos com o Packer

O que é o Packer?

O Packer é uma ferramenta de criação de imagens de servidor desenvolvida pela HashiCorp. Imagem de servidor; ou, alternativamente, infraestrutura imutável; é uma alternativa popular às ferramentas de configuração de tempo de execução, como Ansible ou Puppet. É baseado na ideia de que, uma vez implantado um servidor, você nunca o altera; em vez disso, você implanta um novo servidor com suas alterações e desativa o antigo. Isso facilita a manutenção do servidor e permite dimensionar com mais eficiência um grande número de máquinas.

Embora o Packer não suporte o Vultr imediatamente, há um plug - in que adiciona esse suporte. Instruções para instalar o Packer com suporte ao Vultr podem ser encontradas no README do plug-in. O restante deste artigo pressupõe que você tenha o Packer instalado, bem como o plug-in Vultr.

Como funciona

O objetivo do Packer é produzir imagens do servidor ou artefatos que podem ser usados ​​para criar um novo servidor exatamente como era no momento da criação de imagens. Para o Vultr, esses artefatos são chamados de Instantâneos. O plug-in funciona implantando um novo VPS, executando os provisionadores definidos nele, criando um instantâneo e, em seguida, derrubando o VPS. Quando você deseja criar um novo servidor a partir da sua imagem, basta chamar a API do Vultr para implantar um novo VPS com o Snapshot desejado como seu sistema operacional.

Usando o Packer

O Packer utiliza um arquivo JSON que define a construção que deve ser executada como entrada. Aqui está um arquivo de amostra que define uma compilação do Vultr:

{
  "variables": {
    "vultr_api_key": "{{env `VULTR_API_KEY`}}"
  },
  "builders": [
    {
      "type": "vultr",
      "api_key": "{{user `vultr_api_key`}}",
      "snapshot_description": "My Awesome App",
      "region_id": "2",
      "plan_id": "201",
      "os_id": "167",
      "ssh_username": "root"
    }
  ]
}

Este arquivo possui duas chaves de nível superior variablese builders. A variableschave é usada para definir variáveis ​​personalizadas e, nesse caso, para incorporar a VULTR_API_KEYvariável de ambiente de uma maneira que possa ser usada posteriormente. A builderschave contém uma lista de compilações a serem executadas, neste caso apenas nossa compilação Vultr. Vamos quebrar um pouco essa construção:

  • type: Define o construtor a ser realmente usado e, para o Vultr, deve ser sempre vultr.
  • api_key: Para executar a construção, você precisa de uma chave de API, definida aqui. Este exemplo define como o valor da vultr_api_keyvariável do usuário, que é posteriormente definida como o valor da VULTR_API_KEYvariável de ambiente.
  • snapshot_description: A descrição do instantâneo resultante.
  • region_id: A região na qual implantar um VPS. Isso não afeta o instantâneo final, apenas o servidor do qual o instantâneo é criado.
  • plan_id: O plano a ser usado para o VPS. Os usos futuros desse instantâneo devem definir um plano que seja pelo menos tão grande.
  • os_id: O sistema operacional no qual basear o instantâneo.
  • ssh_username: O nome de usuário que será usado ao fazer o SSH no servidor para provisionamento. Para servidores Linux, isso geralmente será root.

Para usá-lo, salve este arquivo com um nome como server.jsone execute o comando packer build server.json. Você verá alguma saída indicando o status da compilação, o que levará alguns minutos.

Quando você executa essa compilação, um novo servidor nomeado Snapshotting: My Awesome Appserá criado, capturado instantaneamente e destruído. Sem provisionadores definidos, é tudo o que acontece. Para obter mais informações sobre a definição de provisionadores, consulte a documentação do Packer .

Após a conclusão da compilação, o Packer emitirá o ID da captura instantânea resultante.

Definindo região, plano e SO

Esses três valores são necessários para cada compilação do Vultr, mas podem ser definidos de uma de várias maneiras. Para cada um, você deve especificar exatamente uma de suas variações para evitar ambiguidade:

Região

As informações da região podem ser consultadas por meio da API: https://www.vultr.com/api/#regions_region_list

  • region_id: O ID da região, por exemplo 2
  • region_code: O código da região, por exemplo ORD

Plano

As informações do plano podem ser consultadas por meio da API: https://www.vultr.com/api/#plans_plan_list

  • plan_id: O ID do plano, por exemplo 201

OS

As informações do sistema operacional podem ser consultadas através da API: https://www.vultr.com/api/#os_os_list

  • os_id: O ID do sistema operacional, por exemplo 167


Leave a Comment

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.