Questa guida dettagliata spiega come effettuare il deployment di Iotronic OpenStack utilizzando Docker, con la possibilità di sfruttare pacchetti esistenti di MySQL, Memcached e Keystone provenienti da un'installazione attiva di OpenStack.
- Sistema operativo: Ubuntu Bionic (18.04) o successivi.
- Docker e Docker Compose installati.
- Certificati SSL per i componenti (gestiti dalla CA locale inclusa).
- Un'installazione attiva di OpenStack con i servizi di:
- MySQL (MariaDB).
- Memcached.
- Keystone configurato e operativo.
La Root CA genera i certificati per i client.
cd ~/iotronic-openstack/0-CA/
sudo ./0-CA_create iotronic
- Questo comando crea il certificato client per Iotronic e lo copia nella directory
/etc/ssl/iotronic/client_iotronic/
.
Crossbar è il bus di messaggi utilizzato da Iotronic.
cd ~/iotronic-openstack/1-iotronic-crossbar/
sudo ./1-crossbar
- Verifica che il container iotronic-crossbar sia avviato correttamente.
WSTUN gestisce i tunnel WebSocket per Iotronic.
cd ~/iotronic-openstack/1-iotronic-wstun/
sudo ./1-wstun
- Verifica che il container iotronic-wstun sia avviato correttamente.
Se vuoi utilizzare un database MySQL esistente da un'installazione OpenStack attiva, salta questo passaggio. Altrimenti, crea un container MariaDB dedicato:
cd ~/iotronic-openstack/2-mysql/
sudo ./2-mysql
- Per verificare lo stato del database:
docker logs -f iotronic_db
Se Keystone è già configurato nell'installazione attiva di OpenStack, salta questo passaggio. Altrimenti:
-
Deploy del Container Keystone:
cd ~/iotronic-openstack/3-keystone/ sudo ./3-keystone
-
Sincronizzazione e Configurazione di Keystone:
sudo ./3.5-keystone
Il Conductor è il cuore di Iotronic.
-
Deploy del Conductor:
cd ~/iotronic-openstack/4-conductor/ sudo ./4-conductor
-
Configurazione del Database per il Conductor:
sudo ./4.5-conductor
WAgent è il componente agent-side di Iotronic.
cd ~/iotronic-openstack/5-wagent/
sudo ./5-wagent
La UI consente di gestire Iotronic tramite un'interfaccia grafica.
cd ~/iotronic-openstack/6-ui/
sudo ./6-ui
- Accedi alla UI tramite il browser puntando a:
http://<hostname>
-
MySQL:
- Configura i dettagli del database nel file di configurazione del Conductor (
conductor-config.env
). - Utilizza il servizio MySQL esistente dell'installazione OpenStack se disponibile.
- Configura i dettagli del database nel file di configurazione del Conductor (
-
Memcached:
- Assicurati che Memcached sia in esecuzione nell'host OpenStack.
-
Keystone:
- Aggiorna il file
keystone.conf
con le configurazioni corrette per i tuoi servizi.
- Aggiorna il file
-
Controllo dei Log: Per ogni container, puoi verificare i log utilizzando:
docker logs -f <container_name>
-
Persistenza: Se necessario, mappa volumi persistenti per i database e i file di configurazione.
-
Risoluzione dei Problemi:
- Controlla che i certificati SSL siano validi.
- Verifica la connettività tra i container.
-
Pulizia: Rimuovi i container inutilizzati o interrotti per risparmiare risorse:
docker system prune -f