Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Cloud computing

Déployez des serveurs physiques avec Terraform sur Bare Metal Cloud – Intégration IaC transparente

L'Infrastructure as Code (IaC) simplifie la gestion des ressources cloud virtualisées. Avec l'avènement de serveurs dédiés cloud-native, il est désormais possible de déployer des machines physiques avec le même niveau de flexibilité.

La plateforme de serveurs dédiés cloud-native de phoenixNAP, Bare Metal Cloud (BMC), a été conçue avec la compatibilité IaC à l'esprit. BMC est entièrement intégré à HashiCorp Terraform, l'un des outils IaC les plus utilisés en DevOps. Cette intégration permet aux utilisateurs d'exploiter un provider Terraform personnalisé pour déployer des serveurs BMC en quelques minutes avec seulement quelques lignes de code.

Pourquoi l'Infrastructure as Code ?

L'Infrastructure as Code est une méthode d'automatisation du déploiement et de la gestion des ressources cloud via des fichiers de configuration lisibles par l'homme. Elle joue un rôle central en DevOps, où la rapidité et l'agilité sont essentielles.

Avant l'IaC, les administrateurs système déployaient tout manuellement. Chaque serveur, base de données, load balancer ou réseau devait être configuré à la main. Les équipes utilisent maintenant divers moteurs IaC pour faire monter ou descendre des centaines de serveurs à travers plusieurs fournisseurs en quelques minutes.

Bien qu'il existe de nombreux outils IaC puissants sur le marché, Terraform se distingue comme l'un des acteurs les plus importants dans le domaine de l'IaC.

Les bases de Terraform

Terraform de HashiCorp est un moteur d'infrastructure as code qui permet aux équipes DevOps de déployer, modifier et versionner des ressources cloud-native en toute sécurité. Son outil open source est gratuit, mais la plupart des équipes choisissent de l'utiliser avec Terraform Cloud ou Terraform Enterprise, qui permettent la collaboration et la gouvernance.

Pour déployer avec Terraform, les développeurs définissent les ressources souhaitées dans un fichier de configuration, écrit en HashiCorp Configuration Language (HCL). Terraform analyse ensuite ce fichier pour créer un plan d'exécution. Une fois confirmé par l'utilisateur, il exécute le plan pour provisionner précisément ce qui a été défini dans le fichier de configuration.

Terraform identifie les différences entre l'état souhaité et l'état existant de l'infrastructure. Ce mécanisme joue un rôle essentiel dans un pipeline DevOps, où la cohérence à travers plusieurs environnements est cruciale.

Déploiement de serveurs Bare Metal Cloud avec Terraform

Terraform maintient une liste croissante de providers qui supportent son logiciel. Les providers sont des plugins personnalisés de divers fournisseurs de services que les utilisateurs initialisent dans leurs fichiers de configuration.

phoenixNAP possède son propre provider Terraform – pnap. Tout utilisateur de Bare Metal Cloud peut l'utiliser pour déployer et gérer des serveurs BMC sans utiliser le portail web Bare Metal Cloud. Le code source du provider phoenixNAP et la documentation sont disponibles sur la page officielle du provider Terraform.

Exemple d'utilisation de Terraform avec Bare Metal Cloud

Pour commencer à déployer des serveurs BMC avec Terraform, créez un compte BMC et installez Terraform sur votre système local ou serveur distant. Avant d'exécuter Terraform, rassemblez les données d'authentification nécessaires et stockez-les dans le fichier config.yaml. Vous avez besoin du clientId et du clientSecret, tous deux disponibles sur votre compte BMC.

Une fois tout configuré, commencez à définir vos ressources BMC souhaitées. Créez un fichier de configuration Terraform et déclarez que vous souhaitez utiliser le provider pnap :

terraform { required_providers { pnap = { source = "phoenixnap/pnap" version = "0.6.0" } } } provider "pnap" { # Options de configuration }

La section réservée aux options de configuration doit contenir la description de l'état souhaité de votre infrastructure BMC.

Pour déployer la configuration de serveur Bare Metal Cloud la plus basique, s1.c1.small, avec un OS Ubuntu dans le centre de données de Phoenix :

resource "pnap_server" "My-First-BMC-Server" { hostname = "votre-hostname" os = "ubuntu/bionic" type = "s1.c1.small" location = "PHX" ssh_keys = [ "ssh-rsa..." ] #action = "powered-on" }

L'argument action désigne les actions d'alimentation qui peuvent être effectuées sur le serveur : reboot, reset, powered-on, powered-off, shutdown. Bien que tous les noms d'arguments doivent contenir des valeurs correspondantes, l'argument action n'a pas besoin d'être défini.

Pour déployer cette instance Bare Metal Cloud, exécutez la commande CLI terraform init pour demander à Terraform de commencer le processus d'initialisation.

Vos configurations Terraform doivent être stockées dans un fichier avec une extension .tf. Bien que Terraform utilise un langage spécifique au domaine pour définir les configurations, les utilisateurs peuvent également écrire des fichiers de configuration en JSON. Dans ce cas, l'extension de fichier doit être .tf.json.

Déployez des serveurs physiques avec Terraform sur Bare Metal Cloud – Intégration IaC transparente

Tous les fichiers de configuration Terraform sont réutilisables, évolutifs et peuvent être versionnés pour une collaboration d'équipe plus facile sur les schémas de provisioning BMC.

Que vous ayez besoin de déployer un ou des centaines de serveurs, Terraform et BMC le permettront. Il n'y a pas de limite au nombre de serveurs que vous pouvez définir dans vos fichiers de configuration. Vous pouvez également utiliser d'autres providers aux côtés de phoenixNAP.

Pour une gestion plus aisée des configurations complexes, Terraform dispose d'une fonctionnalité appelée modules — des conteneurs qui permettent de définir l'architecture de votre environnement de manière abstraite. Les modules sont des morceaux de code réutilisables qui peuvent appeler d'autres modules contenant un ou plusieurs objets d'infrastructure.

Collaborer sur les configurations BMC avec Terraform Cloud

Une fois que vous avez appris à écrire et provisionner des configurations Terraform, vous voudrez mettre en place une méthode permettant à toute votre équipe DevOps de travailler plus efficacement sur le déploiement de nouvelles ressources BMC et la modification des existantes.

Vous pouvez stocker la configuration Terraform dans un système de contrôle de version et l'exécuter à distance depuis Terraform Cloud gratuitement. Cela réduit le risque de déployer des ressources mal configurées, améliore la supervision et garantit que chaque changement est exécuté de manière fiable depuis le cloud.

Vous pouvez également exploiter le stockage d'état distant de Terraform Cloud. Les fichiers d'état Terraform font correspondre les configurations Terraform avec les ressources déployées dans le monde réel. L'utilisation de Terraform Cloud pour stocker les fichiers d'état assure que votre équipe est toujours sur la même longueur d'onde.

Un autre grand avantage de Terraform est que tous les fichiers de configuration sont réutilisables. Cela rend la réplication du même environnement plusieurs fois extrêmement facile. En maintenant la cohérence à travers plusieurs environnements, les équipes peuvent livrer du code de qualité en production plus rapidement et plus sûrement.

Automatisez votre infrastructure

Cet article vous a donné une vue d'ensemble de la façon d'exploiter la flexibilité de Terraform pour interagir programmatiquement avec vos ressources Bare Metal Cloud. En utilisant le provider Terraform phoenixNAP et Terraform Cloud, vous pouvez rapidement déployer, configurer et décommissionner de multiples instances BMC avec seulement quelques lignes de code.

Cette approche automatisée du provisioning d'infrastructure améliore la vitesse et l'agilité des workflows DevOps. BMC, en combinaison avec Terraform Cloud, permet aux équipes de se concentrer sur la création de logiciels plutôt que de perdre du temps à attendre que leurs serveurs dédiés soient provisionnés manuellement.

Cloud computing

  1. Optimiser l'infrastructure cloud pour performance et efficacité maximales
  2. Pourquoi les pros IT doivent maîtriser le mapping d'infrastructure
  3. L'infrastructure sur site est-elle obsolète ? 5 raisons pour lesquelles elle compte encore
  4. Brève hebdo : l'adoption cloud grimpe, gouvernance et innovation au centre
  5. Infrastructure as Code : Avantages, défis et meilleures pratiques
  6. Comment le Cloud et le DevOps Accélèrent la Livraison Logicielle Moderne
  7. Code-Ready Containers : Guide Pratique d'Automatisation Cloud-Native avec Red Hat OpenShift
  8. Infrastructure Cloud Computing : Guide Professionnel des Fondamentaux
  9. AWS Cheat Sheet & Guide d'examen : maîtrisez les services cloud et préparez vos certifications