Provisionner, configurer et supprimer des ressources
Utilisez Terraform pour déployer, modifier et enlever efficacement vos ressources dans le cloud.
A propos des fichiers d'état Terraform
Terraform stocke des informations d'état pour suivre les ressources d'infrastructure gérées, mettre en correspondance les ressources déployées avec votre configuration, suivre les métadonnées et améliorer les performances des déploiements d'infrastructure de grande taille.
Par défaut, le fichier terraform.tfstate
est stocké sur l'hôte local. Ce comportement par défaut n'est pas optimal dans les environnements informatiques où plusieurs utilisateurs doivent créer et détruire les ressources définies dans une configuration donnée. Pour contrôler le déploiement et la gestion des ressources dans un environnement multi-utilisateur, stocker les fichiers d'état Terraform dans Oracle Cloud Infrastructure Object Storage et partager les fichiers d'état et de verrouillage entre tous les utilisateurs.
Reportez-vous à Utilisation de la banque d'objets pour les fichiers d'état Terraform.
Créer les ressources
Après avoir défini les variables dans le fichier terraform.tfvars
, utilisez la CLI Terraform pour déployer les ressources définies dans la configuration Terraform.
Apply complete! Resources: 33 added, 0 changed, 0 destroyed.
Outputs:
admin_private_ip = 10.0.1.10
bastion_public_ip = 203.0.113.101
kubeconfig = export KUBECONFIG=generated/kubeconfig
ocirtoken = <sensitive>
ssh_to_admin = ssh -i /home/joe/.ssh/id_rsa -J opc@203.0.113.101 opc@10.0.1.10
ssh_to_bastion = ssh -i /home/joe/.ssh/id_rsa opc@203.0.113.101
- La sortie
kubeconfig
affiche la commande que vous pouvez utiliser pour définir la variable d'environnementKUBECONFIG
sur votre hôte local. Exécutez cette commande si vous souhaitez utiliser la CLIkubectl
depuis votre hôte local pour gérer le cluster Kubernetes. La commande définitKUBECONFIG
dans le fichiergenerated/kubeconfig
, créé par Terraform lors de l'application de la configuration. - La sortie
ssh_to_admin
affiche la commandessh
que vous pouvez utiliser pour vous connecter à l'hôte d'administration. - La sortie
ssh_to_bastion
affiche la commandessh
qui permet de se connecter à l'hôte de base.
Remarque :
Vous pouvez afficher cette sortie Terraform à tout moment en exécutant la commandeterraform output
Autoriser l'hôte d'administration à gérer les ressources
Pour permettre à l'hôte d'administration de gérer les ressources dans le compartiment, vous pouvez le désigner en tant que principal d'instance. Utilisez cette fonction si vous envisagez d'exécuter des commandes CLI ou d'effectuer des appels d'API à partir de l'hôte admin pour gérer les ressources dans la topologie.
Remarque :
Tout utilisateur pouvant se connecter à une instance de calcul à l'aide de SSH hérite des privilèges instance-principal octroyés à l'instance. Pensez à vous indiquer si l'hôte d'administration est un principal d'instance. Vous pouvez désactiver cette fonction ou à tout moment sans incidence sur l'hôte d'administration.-
Pour désigner l'hôte d'administration en tant que principal d'instance, définissez les éléments suivants dans
terraform.tfvars
, puis exécutezterraform apply
.admin_instance_principal = true
L'hôte admin est membre d'un groupe dynamique et une instruction de stratégie est créée pour permettre au groupe dynamique de gérer toutes les ressources du compartiment.
-
Pour retirer les privilèges d'instance principal de l'hôte admin, définissez les éléments suivants dans
terraform.tfvars
, puis exécutezterraform apply
.admin_instance_principal = false
Activer ou désactiver les notifications pour l'hôte de base
Vous pouvez utiliser Oracle Cloud Infrastructure Notification Service pour recevoir les messages d'état de l'hôte de base lorsque des mises à jour sont appliquées ou lorsqu'Oracle Ksplice détecte une tentative d'exploitation connue.
Remarque :
Le code Terraform dans cette solution configure les notifications uniquement lorsque vous utilisez l'image Oracle Autonomous Linux par défaut.-
Pour activer les notifications pour l'hôte de base, définissez les variables suivantes dans
terraform.tfvars
:bastion_notification_enabled = true bastion_notification_endpoint = "email_address" bastion_notification_protocol = "EMAIL" bastion_notification_topic = "topic_name"
Voici un exemple de
terraform.tfvars
avec les variables liées à la notification définies.bastion_notification_enabled = true bastion_notification_endpoint = "joe@example.com" bastion_notification_protocol = "EMAIL" bastion_notification_topic = "bastion"
- Si l'hôte de base a déjà été créé et que vous souhaitez activer les notifications maintenant, définissez ces variables et réexécutez
terraform apply
.- Les stratégies obligatoires sont définies de façon à permettre à l'hôte de base de publier des notifications.
- Un sujet de notification est créé et l'adresse électronique que vous avez indiquée est abonnée au sujet.
- L'hôte de base est configuré pour envoyer des notifications.
Une fois les ressources créées, vous recevez un courriel vous invitant à confirmer l'abonnement.
-
Pour désactiver les notifications, définissez les éléments suivants dans
terraform.tfvars
et exécutezterraform apply
.bastion_notification_enabled = false admin_notification_enabled = false