Konfiguration
Konfiguration
Im französischen akademischen Ökosystem für Infrastruktur-als-Dienst fiel die Wahl auf Openstack als Plattform für Cloud-Dienste.
Große Instanzen werden über FG-cloud föderiert.
Große Instanzen werden über FG-cloud föderiert.
Voraussetzungen
Netzwerk
Mindestens die folgenden OpenStack TCP/IP-Ports müssen erreichbar sein (ausgehend auf der Client-Seite geöffnet):
Software
Die Befehle terraform und python-openstackclient müssen verfügbar sein.
Diese Befehle sind zum Beispiel über pkgx verfügbar.
Konfiguration
dependencies:
opendev.org/openstack/python-openstackclient: ^6.3
terraform.io: ^1.6Aktivierung
Auf einer Maschine, auf der der dev-Befehl von pkgx noch nie ausgeführt wurde, werden die binären Abhängigkeiten unseres Projekts gecacht.
✓ ~/.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
Wir richten unser Projektverzeichnis auf das OpenStack-Projekt resinfo-discotech@stratuslab.production.virtualdata aus.
env:
OS_CLOUD: resinfo-discotech@stratuslab.production.virtualdata
dependencies:
opendev.org/openstack/python-openstackclient: ^6.3
terraform.io: ^1.6Test
Unsere Umgebung neu laden.
env -opendev.org/openstack/python-openstackclient^6.3 -terraform.io^1.6
env +opendev.org/openstack/python-openstackclient^6.3 +terraform.io^1.6OpenStack abfragen, um die Authentifizierungskonfiguration zu überprüfen.
+----------------------+-------+
| 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
OpenStack-Provider
Der terraform-Befehl verwendet die Umgebungsvariable OS_CLOUD, die wir in der pkgx.yaml-Datei unseres Arbeitsverzeichnisses konfiguriert haben.
terraform {
required_version = ">= 1.6.0"
required_providers {
openstack = {
source = "terraform-provider-openstack/openstack"
version = "~> 1.51.1"
}
}
}
provider openstack {}Initialisierung
Den Terraform-Zustand mit dem Unterbefehl init initialisieren.
~/projet-cloud/ $ terraform initValidierung
Überprüfen, was terraform ausführen wird.
~/projet-cloud/ $ terraform plan