Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Computação em Nuvem

Infraestrutura como código com Terraform em Bare Metal Cloud


A infraestrutura como código (IaC) simplifica o processo de gerenciamento de recursos de nuvem virtualizados. Com a introdução de servidores dedicados nativos da nuvem, agora é possível implantar máquinas físicas com o mesmo nível de flexibilidade.

A plataforma de servidor dedicado nativo da nuvem da phoenixNAP, Bare Metal Cloud (BMC), foi projetada tendo em mente a compatibilidade com IaC. O BMC é totalmente integrado ao HashiCorp Terraform, uma das ferramentas de IaC mais 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 por meio de arquivos de configuração legíveis por humanos. Ele desempenha um papel fundamental no DevOps, onde velocidade e agilidade são essenciais.

Antes do IaC, os administradores de sistema implantavam tudo manualmente. Cada servidor, banco de dados, balanceador de carga ou rede precisava ser configurado manualmente. As equipes agora utilizam vários mecanismos IaC para ativar ou desativar centenas de servidores em vários provedores em minutos.

Embora existam muitas ferramentas poderosas de IaC no mercado, a Terraform se destaca como um dos players mais proeminentes no campo de IaC.

Noções básicas do Terraform


O Terraform da HashiCorp é uma infraestrutura como mecanismo de código que permite que as equipes de DevOps implantem, modifiquem e versionem recursos nativos da nuvem com segurança. Sua ferramenta de código aberto é gratuita, mas a maioria das equipes opta por usá-la com o Terraform Cloud ou o Terraform Enterprise, que permitem colaboração e governança.

Para implantar com o Terraform, os desenvolvedores definem os recursos desejados em um arquivo de configuração, que é 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, executa o plano para provisionar precisamente 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 um papel essencial em um pipeline de DevOps, onde é crucial manter a consistência em vários ambientes.

Implantação de servidores de nuvem Bare Metal com Terraform


A Terraform mantém uma lista crescente de fornecedores que suportam seu software. Os 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 tem 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 Bare Metal Cloud Portal baseado na web. 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 Nuvem Bare Metal


Para iniciar a implantação de servidores BMC com o Terraform, crie uma conta BMC e instale o Terraform em seu sistema local ou servidor remoto. Antes de executar o Terraform, reúna os dados de autenticação necessários e armazene-os no config.yaml Arquivo. Você precisa do clientId e clientSecret , ambos podem ser encontrados em sua conta BMC.

Depois que tudo estiver configurado, comece a definir os recursos BMC desejados. Para fazer isso, crie um arquivo de configuração do Terraform e declare que deseja usar o provedor pnap :
terraform {
  required_providers {
    pnap = {
          source = "phoenixnap/pnap"
          version = "0.6.0"
    }
  }
}

provider "pnap" {
  # Configuration options
}

A seção reservada para configuration options deve conter a descrição do estado desejado de sua infraestrutura BMC.

Para implantar a configuração mais básica do servidor Bare Metal Cloud, s1.c1.small , com um sistema operacional Ubuntu no data center Phoenix:
resource "pnap_server" "My-First-BMC-Server" {
    hostname = "your-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 executadas no servidor e incluem reinicialização, reinicialização, ativação, desativação, desligamento. Embora todos os nomes de argumentos devam conter valores correspondentes, o argumento de ação não precisa ser definido.

Para implantar esta instância do Bare Metal Cloud, execute o terraform init Comando da CLI para instruir o Terraform a iniciar o processo de inicialização.

Suas configurações do Terraform devem ser armazenadas em um arquivo com a extensão .tf extensão. Embora o Terraform use uma linguagem específica de domínio para definir as configurações, os usuários também podem gravar arquivos de configuração em JSON. Nesse caso, a extensão do arquivo precisa ser .tf.json .

Todos os arquivos de configuração do Terraform são reutilizáveis , escalável , e pode ter versão de versão para facilitar a colaboração da equipe em esquemas de provisionamento BMC.

Se você precisa implantar um ou centenas de servidores, o Terraform e o BMC farão isso 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 facilitar o gerenciamento de configurações complexas, o Terraform possui um recurso chamado módulos — containers que permitem definir a arquitetura do seu ambiente de forma abstrata. Módulos são pedaços reutilizáveis ​​de código que podem chamar outros módulos que contêm um ou mais objetos de infraestrutura.

Colaboração em configurações do BMC com o Terraform Cloud


Depois de aprender a escrever e provisionar configurações do Terraform, você desejará configurar um método que permita que toda a sua equipe de DevOps trabalhe com mais eficiência na implantação de novos recursos BMC e na modificação dos existentes.

Você pode armazenar as configurações do 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 todas as alterações sejam executadas de forma confiável a partir da nuvem.

Você também pode aproveitar o armazenamento de estado remoto do Terraform Cloud. Os arquivos de estado do Terraform mapeiam as configurações do 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. Ao manter a consistência em vários ambientes, as equipes podem fornecer código de qualidade para produção com mais rapidez e segurança.

Automatize sua infraestrutura


Este artigo forneceu uma ampla visão geral de como aproveitar a flexibilidade do Terraform para interagir programaticamente com seus recursos do Bare Metal Cloud. Ao usar o provedor phoenixNAP Terraform e o Terraform Cloud, você pode implantar, configurar e encerrar rapidamente várias instâncias do BMC com apenas algumas linhas de código.

Essa abordagem automatizada ao provisionamento de infraestrutura melhora a velocidade e a agilidade dos fluxos de trabalho de DevOps. O BMC, em combinação com o Terraform Cloud, permite que as equipes se concentrem na criação de software em vez de perder tempo esperando que seus servidores dedicados sejam provisionados manualmente.

Computação em Nuvem

  1. Construa sua infraestrutura de nuvem para desempenho e eficiência
  2. Por que os profissionais de TI precisam de habilidades de mapeamento
  3. A infraestrutura local está obsoleta?
  4. Pacote semanal:Nublado com chance de inovação
  5. Prós e contras da infraestrutura como código
  6. Benefícios do uso da nuvem com DevOps Services
  7. Contêineres prontos para código:Introdução às ferramentas de automação de processos na nuvem
  8. Infraestrutura de computação em nuvem; Entendendo o básico
  9. AWS CHEAT SHEET:com guia de exame
  10. Para dobrar chapa metálica com uma prensa de freio