Aprovisionar, configurar y eliminar recursos
Utilice Terraform para desplegar, cambiar y eliminar sus recursos de la nube de forma eficaz.
Acerca de los archivos de estado de Terraform
Terraform almacena información de estado para realizar un seguimiento de los recursos de infraestructura gestionada, asignar los recursos desplegados a la configuración, realizar un seguimiento de los metadatos y mejorar el rendimiento de despliegues de infraestructura grandes.
Por defecto, el archivo terraform.tfstate
se almacena en el host local. Este comportamiento por defecto no es óptimo en entornos de TI en los que varios usuarios necesitan crear y destruir los recursos que se definen en una configuración determinada. Para controlar el despliegue y la gestión de recursos en un entorno de varios usuarios, almacene los archivos de estado de Terraform en Oracle Cloud Infrastructure Object Storage y comparta los archivos de estado y los archivos de bloqueo entre todos los usuarios.
Consulte Uso del Almacén de Objetos para Archivos de Estado de Terraform.
Crear los recursos
Después de establecer las variables en el archivo terraform.tfvars
, use la CLI de Terraform para desplegar los recursos definidos en la configuración de 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 salida
kubeconfig
muestra el comando que puede utilizar para definir la variable de entornoKUBECONFIG
en el host local. Ejecute este comando si desea utilizar la CLIkubectl
del host local para gestionar el cluster de Kubernetes. El comando estableceKUBECONFIG
en el archivogenerated/kubeconfig
, que Terraform crea al aplicar la configuración. - La salida
ssh_to_admin
muestra el comandossh
que puede utilizar para conectarse al host de administración. - La salida
ssh_to_bastion
muestra el comandossh
que puede utilizar para conectarse al host de base.
Nota:
Puede ver esta salida de Terraform en cualquier momento ejecutando el comandoterraform output
Permitir al host de administración gestionar recursos
Para permitir que el host de administración gestione recursos en el compartimento, puede designarlo como principal de instancia. Use esta función si tiene previsto ejecutar comandos de la CLI o realizar llamadas de la API desde el host de administración para gestionar recursos en la topología.
Nota:
Cualquier usuario que pueda conectarse a una instancia informática con SSH hereda los privilegios instance-principal otorgados a la instancia. Considere esto cuando decida designar el host de administración como principal de instancia. Puede desactivar o activar esta función en cualquier momento sin que afecte al host de administración.-
Para designar el host de administración como principal de instancia, defina lo siguiente en
terraform.tfvars
y, a continuación, ejecuteterraform apply
.admin_instance_principal = true
El host de administración se convierte en miembro de un grupo dinámico, y se crea una sentencia de política para permitir que el grupo dinámico gestione todos los recursos del compartimento.
-
Para retirar los privilegios de principal de instancia del host de administración, defina lo siguiente en
terraform.tfvars
y, a continuación, ejecuteterraform apply
.admin_instance_principal = false
Activación o desactivación de notificaciones para el host de base
Puede utilizar el servicio de notificación de Oracle Cloud Infrastructure para recibir mensajes de estado del host de base cuando se aplican actualizaciones o cuando Oracle Ksplice detecta un intento de explotación conocido.
Nota:
El código Terraform de esta solución solo configura las notificaciones cuando usa la imagen por defecto de Oracle Autonomous Linux.-
Para activar las notificaciones para el host de base, defina las siguientes variables en
terraform.tfvars
:bastion_notification_enabled = true bastion_notification_endpoint = "email_address" bastion_notification_protocol = "EMAIL" bastion_notification_topic = "topic_name"
A continuación se muestra un ejemplo de
terraform.tfvars
con las variables relacionadas con notificaciones definidas.bastion_notification_enabled = true bastion_notification_endpoint = "joe@example.com" bastion_notification_protocol = "EMAIL" bastion_notification_topic = "bastion"
- Si ya se ha creado el host bastion y desea activar las notificaciones ahora, defina estas variables y vuelva a ejecutar
terraform apply
.- Las políticas necesarias se definen para permitir que el host de base publique notificaciones.
- Se crea un tema de notificación y la dirección de correo electrónico especificada se suscribe al tema.
- El host de base está configurado para enviar notificaciones.
Una vez creados los recursos, recibirá un correo electrónico donde se le solicitará que confirme la suscripción.
-
Para desactivar las notificaciones, defina lo siguiente en
terraform.tfvars
y ejecuteterraform apply
.bastion_notification_enabled = false admin_notification_enabled = false