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

Infrastructure en tant que code avec Terraform sur Bare Metal Cloud

L'infrastructure en tant que code (IaC) simplifie le processus de gestion des ressources cloud virtualisées. Avec l'introduction de serveurs dédiés cloud natifs, il est désormais possible de déployer des machines physiques avec le même niveau de flexibilité.

La plate-forme de serveur dédié cloud native Bare Metal Cloud (BMC) de phoenixNAP 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 dans DevOps. Cette intégration permet aux utilisateurs de tirer parti d'un fournisseur Terraform personnalisé pour déployer des serveurs BMC en quelques minutes avec seulement quelques lignes de code.

Pourquoi Infrastructure as Code ?

L'infrastructure en tant que code est une méthode d'automatisation du processus de déploiement et de gestion des ressources cloud via des fichiers de configuration lisibles par l'homme. Il joue un rôle central dans DevOps, où la vitesse et l'agilité sont essentielles.

Avant IaC, les administrateurs système déployaient tout à la main. Chaque serveur, base de données, équilibreur de charge ou réseau devait être configuré manuellement. Les équipes utilisent désormais divers moteurs IaC pour démarrer ou arrêter des centaines de serveurs sur 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 IaC.

Les bases de Terraform

Terraform by HashiCorp est une infrastructure en tant que moteur de code qui permet aux équipes DevOps de déployer, modifier et versionner en toute sécurité des ressources cloud natives. 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, qui est é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ù le maintien de la cohérence entre plusieurs environnements est crucial.

Déploiement de serveurs Cloud Bare Metal avec Terraform

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

phoenixNAP a son propre fournisseur 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 fournisseur phoenixNAP et la documentation sont disponibles sur la page officielle du fournisseur 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 votre serveur distant. Avant d'exécuter Terraform, rassemblez les données d'authentification nécessaires et stockez-les dans le config.yaml dossier. Vous avez besoin du clientId et clientSecret , tous deux disponibles sur votre compte BMC.

Une fois que tout est configuré, commencez à définir les ressources BMC souhaitées. Pour ce faire, créez un fichier de configuration Terraform et déclarez que vous souhaitez utiliser le fournisseur pnap :

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

provider "pnap" {
  # Configuration options
}

La section réservée au configuration options 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 système d'exploitation Ubuntu dans le centre de données 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"
}

Le nom de l'argument action désigne les actions d'alimentation qui peuvent être effectuées sur le serveur, et elles incluent le redémarrage, la réinitialisation, la mise sous tension, la mise hors tension et l'arrêt. Bien que tous les noms d'arguments doivent contenir des valeurs correspondantes, l'argument d'action n'a pas besoin d'être défini.

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

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

Tous les fichiers de configuration Terraform sont réutilisables , évolutif , et peut être versionné pour faciliter la collaboration d'équipe sur les schémas de provisionnement BMC.

Que vous ayez besoin de déployer un ou des centaines de serveurs, Terraform et BMC y parviendront. 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 fournisseurs en plus de phoenixNAP.

Pour faciliter la gestion des configurations complexes, Terraform dispose d'une fonctionnalité appelée modules — des conteneurs qui vous 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.

Collaboration sur les configurations BMC avec Terraform Cloud

Une fois que vous aurez appris à écrire et à provisionner des configurations Terraform, vous souhaiterez 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 de ressources existantes.

Vous pouvez stocker la configuration de Terraform dans un système de contrôle de version et les exécuter à distance depuis Terraform Cloud gratuitement. Cela vous aide à réduire les risques de déploiement de ressources mal configurées, améliore la surveillance et garantit que chaque modification est exécutée de manière fiable depuis le cloud.

Vous pouvez également tirer parti du stockage à distance de Terraform Cloud. Les fichiers d'état Terraform mappent 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 garantit 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 entre plusieurs environnements, les équipes peuvent fournir un code de qualité à la production plus rapidement et de manière plus sûre.

Automatisez votre infrastructure

Cet article vous a donné un aperçu général de la façon de tirer parti de la flexibilité de Terraform pour interagir avec vos ressources Bare Metal Cloud par programmation. En utilisant le fournisseur phoenixNAP Terraform et Terraform Cloud, vous pouvez rapidement déployer, configurer et mettre hors service plusieurs instances BMC avec seulement quelques lignes de code.

Cette approche automatisée du provisionnement de l'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. Construisez votre infrastructure cloud pour la performance et l'efficacité
  2. Pourquoi les professionnels de l'informatique ont besoin de compétences en cartographie
  3. L'infrastructure sur site est-elle obsolète ?
  4. Paquet hebdomadaire :nuageux avec une chance d'innovation
  5. Avantages et inconvénients de l'infrastructure en tant que code
  6. Avantages de l'utilisation du cloud avec les services DevOps
  7. Conteneurs Code Ready :Premiers pas avec les outils d'automatisation des processus dans le cloud
  8. Infrastructure de cloud computing ; Comprendre les bases
  9. AWS Cheat SHEET :avec guide d'examen