Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial Internet of Things >> Computación en la nube

Infraestructura como código con Terraform en Bare Metal Cloud

Infraestructura como código (IaC) simplifica el proceso de gestión de recursos de nube virtualizados. Con la introducción de servidores dedicados nativos de la nube, ahora es posible implementar máquinas físicas con el mismo nivel de flexibilidad.

La plataforma de servidor dedicada nativa de la nube de phoenixNAP, Bare Metal Cloud (BMC), se diseñó teniendo en cuenta la compatibilidad con IaC. BMC está completamente integrado con HashiCorp Terraform, una de las herramientas IaC más utilizadas en DevOps. Esta integración permite a los usuarios aprovechar un proveedor de Terraform personalizado para implementar servidores BMC en minutos con solo un par de líneas de código.

¿Por qué la infraestructura como código?

Infraestructura como código es un método para automatizar el proceso de implementación y administración de recursos en la nube a través de archivos de configuración legibles por humanos. Desempeña un papel fundamental en DevOps, donde la velocidad y la agilidad son esenciales.

Antes de IaC, los administradores de sistemas implementaban todo a mano. Cada servidor, base de datos, equilibrador de carga o red tenía que configurarse manualmente. Los equipos ahora utilizan varios motores IaC para activar o desactivar cientos de servidores en varios proveedores en minutos.

Si bien existen muchas herramientas poderosas de IaC en el mercado, Terraform se destaca como uno de los jugadores más destacados en el campo de IaC.

Los fundamentos de Terraform

Terraform de HashiCorp es una infraestructura como motor de código que permite a los equipos de DevOps implementar, modificar y crear versiones de forma segura de los recursos nativos de la nube. Su herramienta de código abierto es de uso gratuito, pero la mayoría de los equipos eligen usarla con Terraform Cloud o Terraform Enterprise, que permiten la colaboración y la gobernanza.

Para implementar con Terraform, los desarrolladores definen los recursos deseados en un archivo de configuración, que está escrito en lenguaje de configuración HashiCorp (HCL). Luego, Terraform analiza ese archivo para crear un plan de ejecución. Una vez confirmado por el usuario, ejecuta el plan para aprovisionar precisamente lo que se definió en el archivo de configuración.

Terraform identifica las diferencias entre el estado deseado y el estado existente de la infraestructura. Este mecanismo juega un papel esencial en una canalización de DevOps, donde es crucial mantener la coherencia en varios entornos.

Implementación de servidores en la nube sin sistema operativo con Terraform

Terraform mantiene una lista creciente de proveedores que respaldan su software. Los proveedores son complementos personalizados de varios proveedores de servicios que los usuarios inicializan en sus archivos de configuración.

phoenixNAP tiene su propio proveedor de Terraform:pnap. Cualquier usuario de Bare Metal Cloud puede usarlo para implementar y administrar servidores BMC sin usar el portal de Bare Metal Cloud basado en la web. El código fuente del proveedor de phoenixNAP y la documentación están disponibles en la página oficial del proveedor de Terraform.

Ejemplo de uso de Terraform con Bare Metal Cloud

Para comenzar a implementar servidores BMC con Terraform, cree una cuenta BMC e instale Terraform en su sistema local o servidor remoto. Antes de ejecutar Terraform, recopile los datos de autenticación necesarios y guárdelos en config.yaml expediente. Necesitas el clientId y clientSecret , los cuales se pueden encontrar en su cuenta de BMC.

Una vez que todo esté configurado, comience a definir los recursos de BMC que desee. Para ello, cree un archivo de configuración de Terraform y declare que desea utilizar el proveedor pnap :

terraform {
  required_providers {
    pnap = {
          source = "phoenixnap/pnap"
          version = "0.6.0"
    }
  }
}

provider "pnap" {
  # Configuration options
}

La sección reservada para configuration options debe contener la descripción del estado deseado de su infraestructura BMC.

Para implementar la configuración de servidor Bare Metal Cloud más básica, s1.c1.small , con un sistema operativo Ubuntu en el centro de datos de 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"
}

El nombre del argumento action denota acciones de energía que se pueden realizar en el servidor, e incluyen reinicio, reinicio, encendido, apagado, apagado. Si bien todos los nombres de argumentos deben contener valores correspondientes, no es necesario definir el argumento de acción.

Para implementar esta instancia de Bare Metal Cloud, ejecute terraform init Comando CLI para indicar a Terraform que comience el proceso de inicialización.

Sus configuraciones de Terraform deben almacenarse en un archivo con un .tf extensión. Si bien Terraform usa un lenguaje específico de dominio para definir configuraciones, los usuarios también pueden escribir archivos de configuración en JSON. En ese caso, la extensión del archivo debe ser .tf.json .

Todos los archivos de configuración de Terraform son reutilizables , escalable y se puede versionar para facilitar la colaboración en equipo en esquemas de aprovisionamiento de BMC.

Ya sea que necesite implementar uno o cientos de servidores, Terraform y BMC lo harán posible. No hay límites para la cantidad de servidores que puede definir en sus archivos de configuración. También puede usar otros proveedores junto con phoenixNAP.

Para facilitar la gestión de configuraciones complejas, Terraform tiene una característica llamada módulos — contenedores que le permiten definir la arquitectura de su entorno de forma abstracta. Los módulos son fragmentos de código reutilizables que pueden llamar a otros módulos que contienen uno o más objetos de infraestructura.

Colaboración en configuraciones de BMC con Terraform Cloud

Una vez que haya aprendido a escribir y aprovisionar configuraciones de Terraform, querrá configurar un método que le permita a todo su equipo de DevOps trabajar de manera más eficiente en la implementación de nuevos recursos de BMC y en la modificación de los existentes.

Puede almacenar la configuración de Terraform en un sistema de control de versiones y ejecutarla de forma remota desde Terraform Cloud de forma gratuita. Esto lo ayuda a reducir la posibilidad de implementar recursos mal configurados, mejora la supervisión y garantiza que cada cambio se ejecute de manera confiable desde la nube.

También puede aprovechar el almacenamiento de estado remoto de Terraform Cloud. Los archivos de estado de Terraform asignan configuraciones de Terraform con recursos implementados en el mundo real. El uso de Terraform Cloud para almacenar archivos de estado garantiza que su equipo esté siempre en sintonía.

Otra gran ventaja de Terraform es que todos los archivos de configuración son reutilizables. Esto hace que replicar el mismo entorno varias veces sea extremadamente fácil. Al mantener la coherencia en varios entornos, los equipos pueden entregar código de calidad a la producción de forma más rápida y segura.

Automatiza tu infraestructura

Este artículo le proporcionó una descripción general amplia de cómo aprovechar la flexibilidad de Terraform para interactuar con sus recursos de Bare Metal Cloud mediante programación. Al usar el proveedor phoenixNAP Terraform y Terraform Cloud, puede implementar, configurar y desmantelar rápidamente varias instancias de BMC con solo un par de líneas de código.

Este enfoque automatizado para el aprovisionamiento de infraestructura mejora la velocidad y la agilidad de los flujos de trabajo de DevOps. BMC, en combinación con Terraform Cloud, permite que los equipos se concentren en crear software en lugar de perder el tiempo esperando que sus servidores dedicados se aprovisionen manualmente.


Computación en la nube

  1. Construya su infraestructura de nube para el rendimiento y la eficiencia
  2. Por qué los profesionales de TI necesitan habilidades de creación de mapas
  3. ¿Está obsoleta la infraestructura local?
  4. Paquete semanal:Nublado con posibilidades de innovación
  5. Pros y contras de la infraestructura como código
  6. Beneficios de usar la nube con los servicios DevOps
  7. Contenedores listos para el código:Introducción a las herramientas de automatización de procesos en la nube
  8. Infraestructura de computación en la nube; Comprensión de los conceptos básicos
  9. AWS CHEAT SHEET:con la guía del examen
  10. para doblar chapa con una plegadora
  11. Automatización del aprovisionamiento de servidores en Bare Metal Cloud con MAAS (Metal-as-a-Service) de Canonical