Implante Servidores Físicos com Terraform no Bare Metal Cloud – Integração IaC Perfeita
A Infraestrutura como Código (IaC) simplifica o processo de gerenciamento de recursos de nuvem virtualizados. Com a introdução de servidores dedicados cloud-native, agora é possível implantar máquinas físicas com o mesmo nível de flexibilidade.
A plataforma de servidores dedicados cloud-native da phoenixNAP, Bare Metal Cloud (BMC), foi projetada com compatibilidade IaC em mente. O BMC é totalmente integrado ao HashiCorp Terraform, uma das ferramentas IaC mais amplamente usadas em DevOps. Essa integração permite que os usuários aproveitem um provedor Terraform personalizado para implantar servidores BMC em minutos com apenas algumas linhas de código.
Por que Infraestrutura como Código?
Infraestrutura como Código é um método de automatizar o processo de implantação e gerenciamento de recursos de nuvem através de arquivos de configuração legíveis por humanos. Desempenha um papel fundamental no DevOps, onde velocidade e agilidade são essenciais.
Antes da IaC, administradores de sistemas implantavam tudo manualmente. Cada servidor, banco de dados, balanceador de carga ou rede tinha que ser configurado à mão. As equipes agora utilizam diversos motores IaC para subir ou derrubar centenas de servidores em múltiplos provedores em minutos.
Embora existam muitas ferramentas IaC poderosas no mercado, o Terraform se destaca como um dos players mais proeminentes no campo de IaC.
Fundamentos do Terraform
O Terraform da HashiCorp é um motor de infraestrutura como código que permite às equipes DevOps implantar, modificar e versionar recursos cloud-native com segurança. Sua ferramenta open source é gratuita, mas a maioria das equipes opta por usá-la com Terraform Cloud ou Terraform Enterprise, que permitem colaboração e governança.
Para implantar com Terraform, os desenvolvedores definem os recursos desejados em um arquivo de configuração, escrito em HashiCorp Configuration Language (HCL). O Terraform então analisa esse arquivo para criar um plano de execução. Uma vez confirmado pelo usuário, ele executa o plano para provisionar exatamente o que foi definido no arquivo de configuração.
O Terraform identifica diferenças entre o estado desejado e o estado existente da infraestrutura. Esse mecanismo desempenha papel essencial em um pipeline DevOps, onde manter consistência entre múltiplos ambientes é crucial.
Implantando Servidores Bare Metal Cloud com Terraform
O Terraform mantém uma lista crescente de provedores que suportam seu software. Provedores são plugins personalizados de vários provedores de serviços que os usuários inicializam em seus arquivos de configuração.
A phoenixNAP possui seu próprio provedor Terraform – pnap. Qualquer usuário do Bare Metal Cloud pode usá-lo para implantar e gerenciar servidores BMC sem usar o portal web do Bare Metal Cloud. O código-fonte do provedor phoenixNAP e a documentação estão disponíveis na página oficial do provedor Terraform.
Exemplo de Uso do Terraform com Bare Metal Cloud
Para começar a implantar servidores BMC com Terraform, crie uma conta BMC e instale o Terraform no seu sistema local ou servidor remoto. Antes de executar o Terraform, reúna os dados de autenticação necessários e armazene-os no arquivo config.yaml. Você precisa do clientId e clientSecret, ambos encontrados na sua conta BMC.
Uma vez configurado tudo, comece a definir seus recursos BMC desejados. Para isso, crie um arquivo de configuração Terraform e declare que deseja usar o provedor pnap:
terraform { required_providers { pnap = { source = "phoenixnap/pnap" version = "0.6.0" } } } provider "pnap" { # Opções de configuração }
A seção reservada para opções de configuração deve conter a descrição do estado desejado da sua infraestrutura BMC.
Para implantar a configuração mais básica de servidor Bare Metal Cloud, s1.c1.small, com SO Ubuntu no data center de Phoenix:
resource "pnap_server" "Meu-Primeiro-Servidor-BMC" { hostname = "seu-hostname" os = "ubuntu/bionic" type = "s1.c1.small" location = "PHX" ssh_keys = [ "ssh-rsa..." ] #action = "powered-on" }
O nome do argumento action denota ações de energia que podem ser realizadas no servidor, e incluem reboot, reset, powered-on, powered-off, shutdown. Embora todos os nomes de argumentos devam conter valores correspondentes, o argumento action não precisa ser definido.
Para implantar esta instância Bare Metal Cloud, execute o comando CLI terraform init para instruir o Terraform a iniciar o processo de inicialização.
Suas configurações Terraform devem ser armazenadas em um arquivo com extensão .tf. Embora o Terraform use uma linguagem específica de domínio para definir configurações, os usuários também podem escrever arquivos de configuração em JSON. Nesse caso, a extensão do arquivo precisa ser .tf.json.
Todos os arquivos de configuração Terraform são reutilizáveis, escaláveis e podem ser versionados para facilitar a colaboração da equipe em esquemas de provisionamento BMC.
Seja para implantar um ou centenas de servidores, Terraform e BMC farão acontecer. Não há limites para quantos servidores você pode definir em seus arquivos de configuração. Você também pode usar outros provedores junto com o phoenixNAP.
Para gerenciamento mais fácil de configurações complexas, o Terraform tem um recurso chamado módulos — contêineres que permitem definir a arquitetura do seu ambiente de forma abstrata. Módulos são pedaços de código reutilizáveis que podem chamar outros módulos que contêm um ou mais objetos de infraestrutura.
Colaborando em Configurações BMC com Terraform Cloud
Depois de aprender a escrever e provisionar configurações Terraform, você vai querer configurar um método que permita a toda sua equipe DevOps trabalhar de forma mais eficiente na implantação de novos e modificação de recursos BMC existentes.
Você pode armazenar configurações Terraform em um sistema de controle de versão e executá-las remotamente a partir do Terraform Cloud gratuitamente. Isso ajuda a reduzir a chance de implantar recursos mal configurados, melhora a supervisão e garante que toda mudança seja executada de forma confiável a partir da nuvem.
Você também pode aproveitar o armazenamento de estado remoto do Terraform Cloud. Arquivos de estado do Terraform mapeiam configurações Terraform com recursos implantados no mundo real. Usar o Terraform Cloud para armazenar arquivos de estado garante que sua equipe esteja sempre na mesma página.
Outra grande vantagem do Terraform é que todos os arquivos de configuração são reutilizáveis. Isso torna a replicação do mesmo ambiente várias vezes extremamente fácil. Mantendo consistência entre múltiplos ambientes, as equipes podem entregar código de qualidade para produção mais rápido e com mais segurança.
Automatize Sua Infraestrutura
Este artigo deu uma visão geral de como aproveitar a flexibilidade do Terraform para interagir com seus recursos Bare Metal Cloud programaticamente. Ao usar o provedor Terraform da phoenixNAP e o Terraform Cloud, você pode implantar, configurar e descomissionar rapidamente múltiplas instâncias BMC com apenas algumas linhas de código.
Essa abordagem automatizada de provisionamento de infraestrutura melhora a velocidade e agilidade dos fluxos de trabalho DevOps. O BMC, em combinação com Terraform Cloud, permite que as equipes foquem em construir software em vez de perder tempo esperando servidores dedicados serem provisionados manualmente.
Computação em Nuvem
- Otimizando infraestrutura de nuvem para desempenho e eficiência máximos
- Por que Profissionais de TI Devem Dominar o Mapeamento de Infraestrutura
- A Infraestrutura On-Premise está Obsoleta? 5 Razões Pelas Quais Ela Ainda Importa
- Resumo Semanal: Adoção de Nuvem Dispara, Governança e Inovação no Centro do Palco
- Infrastructure as Code: Benefícios, Desafios e Melhores Práticas
- Como Nuvem e DevOps Aceleram a Entrega Moderna de Software
- Contêineres Code-Ready: Guia Prático para Automação de Processos Cloud-Native com Red Hat OpenShift
- Infraestrutura de Computação em Nuvem: Guia Profissional dos Fundamentos
- AWS Cheat Sheet & Guia de Exame: Domine Serviços Cloud & Preparação para Certificação
- Dominando Dobra de Chapa Metálica com Prensa Dobradeira: Técnicas, Potência CNC e Insights da Indústria