Configuración
Configuración
En el ecosistema académico francés de Infraestructura-como-Servicio, la plataforma elegida para proveer servicios de tipo Cloud es Openstack.
Las instancias de mayor escala están federadas a través de FG-cloud.
Las instancias de mayor escala están federadas a través de FG-cloud.
Requisitos previos
Red
Como mínimo, los siguientes puertos TCP/IP de OpenStack deben ser accesibles (abiertos en salida en el lado cliente):
Software
Disponer de los comandos terraform y python-openstackclient.
Estos comandos están disponibles, por ejemplo, a través de pkgx.
Configuración
dependencies:
opendev.org/openstack/python-openstackclient: ^6.3
terraform.io: ^1.6Activación
En una máquina donde el comando dev de pkgx nunca se haya ejecutado, se almacenarán en caché las dependencias binarias del proyecto.
✓ ~/.pkgx/terraform.io/v1.6.4
✓ ~/.pkgx/opendev.org/openstack/python-openstackclient/v6.3.0
env +opendev.org/openstack/python-openstackclient^6.3 +terraform.io^1.6python-openstackclient
Apuntamos ahora el entorno de nuestro directorio de proyecto al proyecto OpenStack resinfo-discotech@stratuslab.production.virtualdata.
env:
OS_CLOUD: resinfo-discotech@stratuslab.production.virtualdata
dependencies:
opendev.org/openstack/python-openstackclient: ^6.3
terraform.io: ^1.6Prueba
Recargamos nuestro entorno.
env -opendev.org/openstack/python-openstackclient^6.3 -terraform.io^1.6
env +opendev.org/openstack/python-openstackclient^6.3 +terraform.io^1.6Consultamos OpenStack para verificar que la configuración de autenticación es correcta.
+----------------------+-------+
| Resource | Limit |
+----------------------+-------+
| cores | 40 |
| instances | 20 |
| ram | 51200 |
| fixed-ips | -1 |
| injected-file-size | 10240 |
| injected-path-size | 255 |
| injected-files | 5 |
| key-pairs | 100 |
| properties | 128 |
| server-groups | 10 |
| server-group-members | 10 |
| floating-ips | -1 |
| secgroup-rules | -1 |
| secgroups | -1 |
+----------------------+-------+terraform
Proveedor OpenStack
El comando terraform utilizará la variable de entorno OS_CLOUD que hemos configurado en el fichero pkgx.yaml de nuestro directorio de trabajo.
terraform {
required_version = ">= 1.6.0"
required_providers {
openstack = {
source = "terraform-provider-openstack/openstack"
version = "~> 1.51.1"
}
}
}
provider openstack {}Inicialización
Inicializamos el estado de terraform mediante el subcomando init.
~/projet-cloud/ $ terraform initValidación
Comprobamos qué va a hacer terraform.
~/projet-cloud/ $ terraform plan