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

Despliegue servidores físicos con Terraform en Bare Metal Cloud: Integración IaC sin fisuras

La Infraestructura como Código (IaC) simplifica el proceso de gestión de recursos cloud virtualizados. Con la introducción de servidores dedicados cloud-native, ahora es posible desplegar máquinas físicas con el mismo nivel de flexibilidad.

La plataforma de servidores dedicados cloud-native de phoenixNAP, Bare Metal Cloud (BMC), fue diseñada pensando en la compatibilidad con IaC. BMC está totalmente integrada con HashiCorp Terraform, una de las herramientas IaC más utilizadas en DevOps. Esta integración permite a los usuarios aprovechar un proveedor Terraform personalizado para desplegar servidores BMC en minutos con solo unas pocas líneas de código.

¿Por qué Infraestructura como Código?

La Infraestructura como Código es un método para automatizar el proceso de despliegue y gestión de recursos cloud mediante 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 desplegaban todo manualmente. Cada servidor, base de datos, balanceador de carga o red tenía que configurarse a mano. Ahora los equipos utilizan diversos motores IaC para levantar o derribar cientos de servidores entre múltiples proveedores en minutos.

Aunque hay muchas herramientas IaC potentes en el mercado, Terraform destaca como uno de los actores más prominentes en el campo.

Conceptos básicos de Terraform

Terraform de HashiCorp es un motor de infraestructura como código que permite a los equipos DevOps desplegar, modificar y versionar recursos cloud-native de forma segura. Su herramienta de código abierto es gratuita, pero la mayoría de los equipos optan por usarla con Terraform Cloud o Terraform Enterprise, que habilitan la colaboración y la gobernanza.

Para desplegar con Terraform, los desarrolladores definen los recursos deseados en un archivo de configuración escrito en HashiCorp Configuration Language (HCL). Terraform analiza ese archivo para crear un plan de ejecución. Una vez confirmado por el usuario, ejecuta el plan para aprovisionar exactamente lo definido 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 un pipeline DevOps, donde mantener la consistencia entre múltiples entornos es crucial.

Despliegue de servidores Bare Metal Cloud con Terraform

Terraform mantiene una lista creciente de proveedores que soportan su software. Los proveedores son plugins personalizados de diversos 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 desplegar y gestionar servidores BMC sin usar el portal web de Bare Metal Cloud. El código fuente del proveedor 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 empezar a desplegar servidores BMC con Terraform, cree una cuenta BMC e instale Terraform en su sistema local o servidor remoto. Antes de ejecutar Terraform, reúna los datos de autenticación necesarios y almacénelos en el archivo config.yaml. Necesita el clientId y el clientSecret, ambos disponibles en su cuenta BMC.

Una vez todo configurado, comience a definir sus recursos BMC deseados. Cree un archivo de configuración de Terraform y declare que quiere usar el proveedor pnap:

terraform { required_providers { pnap = { source = "phoenixnap/pnap" version = "0.6.0" } } } provider "pnap" { # Opciones de configuración }

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

Para desplegar la configuración más básica de servidor Bare Metal Cloud, s1.c1.small, con un SO Ubuntu en el centro de datos de Phoenix:

resource "pnap_server" "Mi-Primer-Servidor-BMC" { hostname = "su-hostname" os = "ubuntu/bionic" type = "s1.c1.small" location = "PHX" ssh_keys = [ "ssh-rsa..." ] #action = "powered-on" }

El nombre de argumento action denota acciones de encendido que pueden realizarse en el servidor, e incluyen reboot, reset, powered-on, powered-off, shutdown. Aunque todos los nombres de argumentos deben contener valores correspondientes, el argumento action no necesita definirse.

Para desplegar esta instancia de Bare Metal Cloud, ejecute el comando CLI terraform init para instruir a Terraform a comenzar el proceso de inicialización.

Sus configuraciones de Terraform deben almacenarse en un archivo con extensión .tf. Aunque 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, escalables y pueden versionarse para una colaboración más fácil en esquemas de aprovisionamiento BMC.

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

Para una gestión más fácil de configuraciones complejas, Terraform tiene una característica llamada módulos — contenedores que 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 BMC con Terraform Cloud

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

Puede almacenar la configuración de Terraform en un sistema de control de versiones y ejecutarlas remotamente desde Terraform Cloud de forma gratuita. Esto ayuda a reducir la posibilidad de desplegar recursos mal configurados, mejora la supervisión y garantiza que cada cambio se ejecute de forma fiable desde la nube.

También puede aprovechar el almacenamiento remoto de estado de Terraform Cloud. Los archivos de estado de Terraform mapean las configuraciones de Terraform con los recursos desplegados en el mundo real. Usar Terraform Cloud para almacenar archivos de estado garantiza que su equipo esté siempre sincronizado.

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

Automatice su infraestructura

Este artículo le dio una visión general de cómo aprovechar la flexibilidad de Terraform para interactuar con sus recursos de Bare Metal Cloud programáticamente. Al usar el proveedor Terraform de phoenixNAP y Terraform Cloud, puede desplegar, configurar y desmantelar rápidamente múltiples instancias BMC con solo unas pocas líneas de código.

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

Computación en la nube

  1. Dominando el Doblado de Chapa con Prensa Plegadora: Técnicas, Potencia CNC y Perspectivas de la Industria
  2. Optimizando infraestructura cloud para máximo rendimiento y eficiencia
  3. Por qué los profesionales TI deben dominar el mapeo de infraestructura
  4. ¿Es la infraestructura On-Premise obsoleta? 5 razones por las que sigue importando
  5. Resumen semanal: adopción cloud se dispara, gobernanza e innovación toman el centro
  6. Infraestructura como Código: beneficios, desafíos y mejores prácticas
  7. Cómo la nube y DevOps aceleran la entrega moderna de software
  8. Code-Ready Containers: Guía práctica para automatización de procesos cloud-native con Red Hat OpenShift
  9. Infraestructura de computación en la nube: Guía profesional de los fundamentos
  10. Guía y chuleta AWS: domina servicios cloud y prepárate para la certificación
  11. Acelere los despliegues en Bare Metal Cloud con Canonical MAAS: Aprovisionamiento automatizado de servidores en minutos