Lo sai che OpenStack non è una tecnologia unitaria e rigida ma è data dalla sinergia di più prodotti opensource? Scoprili con Alchelabo! Continua a leggere per approfondire OpenStack Neutron.
Nelle scorse settimane, abbiamo introdotto Openstack e due delle sue componenti fondamentali, Horizon e Nova. Se te li sei persi, leggili qui e qui.
Scopriamo ora la terza componente chiave, parte del framework OpenStack: OpenStack Neutron.
OpenStack Neutron: il progetto Networking-as-a-Service di OpenStack.
OpenStack Neutron è il servizio di OpenStack per la creazione, la gestione ed il controllo delle reti cloud. Permette di implementare servizi e librerie associate per la creazione di reti virtuali che siano on-demand, scalabili ed interoperabili.
Prima di OpenStack Neutron, la funzione di networking veniva gestita con le features incluse OpenStack Nova. Questo però, implicava doppio lavoro per gli sviluppatori.
Con OpenStack Neutron invece, la gestione delle reti diventa modulare ed indipendente. Inoltre, Neutron può offrire diversi servizi aggiuntivi ma integrati come Load Balancing as-a-Service, VPN as-a-Service e Firewall as-a-Service.
Neutron consente perciò di creare un’intera infrastruttura network completamente virtualizzata e definita via software all’interno della farm OpenStack così come di pilotare device network hardware esterni.
OpenStack Neutron: le componenti principali.
La componente principale di OpenStack Neutron è Neutron server, un deamon scritto in Python che mostra le API della rete OpenStack e passa le richieste che devono essere processate. La sua funzione principale è interfacciare l’intero ambiente di OpenStack Neutron con il resto della farm.
Il Neutron server opera sui nodi di rete fino all’API e alle sue estensioni. Inoltre, richiede l’accesso indiretto e costante ad un server attraverso plugin, che comunicano col database grazie a AMQP, l’Advanced Message Queuing Protocol.
Il Neutron Server è essenzialmente composto da tre moduli:
- REST service: il REST service accetta le richieste dell’API dalle altre componenti e mostra tutti i dettagli di funzionamento in termini di reti, sotto-reti, porte e così via. È un’applicazione WSGI scritta in Python ed utilizza la porta 9696 per la comunicazione;
- RPC service: il RPC service comunica con i bus e la sua funzione è di attivare la comunicazione bidirezionale degli agenti;
- Plugin aggiuntivi: un plugin è una collezione di moduli di Python che implementano l’interfaccia standard. Il plugin accetta e riceve alcune richieste standard dall’API e la connette con i device a valle.
Tra le tipologie di Plugin che vengono utilizzati da OpenStack Neutron possiamo individuare i principali:
- Plugin agente: girano su ogni nodo della rete per gestire la configurazione degli switch virtuali locali. Questo servizio richiede l’accesso al message queue e dipende dal plugin usato;
- DHCP agente: Offre servizi DHCP alle reti multiple. Questo agente è lo stesso per tutti i plugin ed è responsabile di mantenere la configurazione DHCP. L’agente DHCP richiede l’accesso al message queue;
- Servizi SDN: Questi servizi SDN possono interagire con il neutron server, i plugin ed i plugin agenti attraverso i canali di comunicazioni come il REST service.
Lo studio, la selezione e l’integrazione di questi ed altri prodotti opensource ci hanno portato a definire una nostra meta-distribuzione OpenStack, pronta all’uso e dal deploy immediato.
Scopri TruStack by Alchelabo e leggi il nostro articolo d’approfondimento qui.
Contattaci –> sales@alchelabo.com