Link.it (http://www.link.it) Presentazione Aziendale

Transcript

Link.it (http://www.link.it) Presentazione Aziendale
Una soluzione per il
Provisioning e la Software
Distribution
Scenario
• Svariati server, con
funzione in base
all'area di competenza,
dislocati nel territorio
su Nodi Periferici
collegati in rete (VPN)
• Un Centro di Gestione
che raccoglie risorse e
competenze per la
gestione tecnologica
del network
Requisiti
Sistema integrato di gestione delle
distribuzioni software sui nodi:
• I nodi periferici hanno profili di configurazione
eterogenei
• Creazione e personalizzazione dei Software
Repository cui attingono i nodi periferici
• Differente gestione tra software applicativo e di
sistema
• Asincronismo nelle comunicazioni tra centro e
nodi periferici
Requisiti (2)
E ancora:
• Configurazione dei software applicativi
personalizzata in base alle proprietà locali dei
nodi periferici
• Console con interfaccia grafica per la gestione
remota dei nodi periferici
• Sistema di monitoraggio integrato con eventi di
notifica inviati dai nodi periferici al centro
• Console grafica per la reportistica del sistema di
monitoraggio
Profili e Software Repository
Differenziare la gestione per tipologia di nodo
Definizioni
Software Repository
Risorse accessibili in rete da cui ciascun nodo
periferico può prelevare le versioni dei software
applicativi per l'upgrade
Proprietà
Attributi definibili in maniera personalizzata come
coppia <nome, valore>. Vengono utilizzate per la
configurazione del software applicativo su ciascun
nodo periferico
Definizioni (2)
Profilo
Rappresenta una tipologia di nodo periferico (ad
esempio in base all'area di competenza). Ciascun
profilo ha i suoi Software Repository e un insieme
di Proprietà che lo caratterizzano
Host
Rappresenta il singolo nodo fisico da agganciare
al sistema di provisioning. Al momento della
creazione è necessario assegnargli un Profilo
Petra Provisioning Center
Petra Provisioning Center è un sistema di
provisioning del software che fornisce una
componente di Software Distribution integrata
al Centro di Gestione Territoriale.
Grazie alle funzioni che semplificano
pianificazione, collaudo e implementazione
degli aggiornamenti software, è possibile
ridurre notevolmente i tempi di installazione e
gli errori associati alle operazioni manuali.
Architettura Petra
• Architettura Client/Server
• Componente centralizzata costituita dal
Provisioning Collector che include la
console di gestione e il sistema di
monitoraggio
• Componente periferica costituita dal
Provisioning Agent che deve essere
installato su ciascun nodo che si vuole
mettere sotto gestione remota
Provisioning Collector
Console
La Console è la componente di gestione
centralizzata del sistema di provisioning.
È dotata di una interfaccia web che consente la
gestione di:
–
–
–
–
–
Accessi
Profili
Repository
Host
Property
Tramite console si possono inviare e monitorare le
operazioni remote e relativi esiti.
Operazioni Remote
La componente Task Sender ha il compito di
inviare i messaggi di invocazione di comandi
remoti sui singoli nodi. Riceve le richieste dalla
console in modalità asincrona tramite una coda.
In caso di upgrade, i nodi accederanno ai Software
Repository centralizzati tramite la componente
YUM.
I nodi periferici inviano messaggi di notifica relativi
ad eventi locali. Questi messaggi vengono raccolti
dalla componente Event Collector che li smista al
sistema di monitoraggio.
Sistema di Monitoraggio
Il Sistema di Monitoraggio è attualmente basato su
NAGIOS e viene alimentato dalle notifiche periodiche
inviate dai nodi periferici.
Dotato di un repository dove vengono definiti i controlli
(check) da eseguire per verificare lo stato di salute degli
applicativi.
Sistema di reportistica completo con visualizzazione grafica
dello stato dei nodi e accessibile in maniera diretta dalla
console grafica del sistema di provisioning.
L'integrazione con una piattaforma di monitoraggio può
essere realizzata come personalizzazione del prodotto.
Provisioning Agent
Provisioning Agent (2)
• Il Request Manager riceve i comandi remoti dal
Collector e li smista allo specifico Task Executor:
– Updater
– Restarter
– Reconfigurer
• L'Event Manager invia le notifiche al Sistema di
Monitoraggio sullo stato degli applicativi locali
• L'upgrade del software viene effettuato tramite la
componente YUM Client.
Task Executors
Updater
Componente responsabile dell'aggiornamento del
software applicativo accedendo ai Software Repository
specifici per profilo tramite YUM
Restarter
Componente che esegue le operazioni di riavvio (stop
| start | restart) degli applicativi locali
Reconfigurer
Componente che esegue la riconfigurazione degli
applicativi sulla base dei valori delle proprietà
specifiche dell'host
Setup
Affinché i Task Executors siano in grado di eseguire le
operazioni richieste è necessario che i Software
Repository vengano costruiti come RPM che rispettino
i seguenti vincoli:
• L'archivio RPM deve includere i seguenti eseguibili
– <path-archivio>/<nome-applicazione>/setup
– <path-archivio>/<nome-applicazione>/service
• Gli eseguibili devono rispondere alle seguenti
interfacce command-line
– setup (install | uninstall | reconfigure)
– service (stop | start)
Setup (2)
• L'archivio RPM deve essere configurato in modo da
eseguire i seguenti script post-install
– In caso di installazione
scripts/app-register nome-app nome-rpm
– In caso di disinstallazione
scripts/app-unregister nome-app nome-rpm
• È possibile creare Software Repository con RPM a
struttura libera nei casi in cui non sia necessario
gestire tali applicativi da remoto (ad esempio nel
caso dei software di sistema)
Web Console
Gestione Remota
Gestione Remota
Dal pannello di management si selezionano gli host e
quindi si preme il pulsante corrispondente all'operazione
che si vuole eseguire su tali host.
• Reconfigure
Riconfigura gli host selezionati in base ai valori attuali
delle proprietà. Se esiste, esegue prima il comando
'setup reconfigure', generico per il nodo,
successivamente per tutti gli applicativi in gestione
esegue 'nome-app/setup reconfigure'.
• Reset
Rigenerazione completa dello stato sull'host.
Utilizzata ad esempio in caso di sostituzione dell'host.
Gestione Remota (2)
Tramite i pulsanti Up, Down e Restart della sezione
Application Status è possibile avviare, fermare e
riavviare tutti i servizi applicativi sul nodo.
Nella sezione Maintenance troviamo:
• Upgrade
Causa l'invio del comando di aggiornamento agli
host che procederanno tramite YUM ad aggiornarsi
rispetto ai repositories centralizzati.
• Halt / Reboot
Effettua lo stop / riavvio degli host selezionati
Gestione Remota (3)
Sempre nella sezione Maintenance:
• Change Password
Modifica la password di root degli host selezionati
• Save Configuration
Salva la configurazione degli host selezionati
• Manage Configurations
Permette di gestire le configurazioni
precedentemente salvate
Web Console (2)
Gestione degli Host
Web Console (3)
Gestione dei Profili
Web Console (4)
Gestione delle
Properties
Web Console (5)
Gestione dei
Repository
Monitorare gli Aggiornamenti
• Nel pannello di monitoraggio è evidenziata
la versione del software installata e la data
di installazione:
Monitoraggio di sistema
• Le risorse di sistema e lo stato degli
applicativi può essere controllato dai
pannelli del sistema di monitoraggio
Centro di Gestione SPCoop
Petra Provisioning Center è stato impiegato per la
gestione remota delle Porte di Dominio
OpenSPCoop e degli applicativi contestuali
relativamente alla piattaforma di cooperazione
applicativa di Regione Toscana.
Link.it mantiene aggiornati i software repository e
le configurazioni per Petra specifiche per la
gestione di progetti che utilizzano il software
OpenSPCoop.
Centro di Gestione SPCoop (2)
Repository per SPCoop
Repository Petra per Software di Sistema:
• CentOS
• Apache / Jboss
• PostgreSQL
Repository Petra per Software applicativo:
• OpenSPCoop
I repository sono già formattati per essere
agganciati al sistema di provisioning.
Property per SPCoop
Le collezioni di proprietà per la configurazione di
tutto il software distribuito sui nodi “Porta di
Dominio”.
Esempio Property di Sistema:
PetraPDDName
PetraCertSubject
NalHostname
NagiosServer
VpnVirtIP
PublicIP
Nome della Porta di Dominio
Subject del certificato per il client petra
Hostname del nodo periferico
Indirizzo del sistema di monitoraggio
IP assegnato alla connessione IPSec
IP principale del sistema
Property per SPCoop (2)
Esempio property di Jboss
HttpdPort
HttpsdPort
AjpPort
maxThreads
JbossClusterId
Porta HTTP
Jboss_udp_group
Jboss_udp_port
Java_opts
Indirizzo UDP
Porta UDP
Opzioni Java
Porta HTTPS
Porta AJP
Numero massimo di threads
Identificatore del cluster Jboss
Property per SPCoop (3)
• Esempio di property per OpenSPCoop
NomeSoggettoDefault
TipoSoggettoDefault
DatasourceIP
DatasourcePort
DatasourceType
Nome Soggetto default per la PdD
MaxClients
Numero massimo di clients paralleli
Tipo Soggetto default per la PdD
Indirizzo del datasource
Porta del datasource
Tipo del Datasource (oracle, mysql, ecc.)
Esempio: Prima Installazione
Si aggiunge il nuovo host
indicando:
• Nome, Descrizione, IP, Porta
(del servizio Petra), Password
• Profilo
• Tipo:
– Active = host
chiede operazioni
a collector
– Passive = collector
invia operazioni
tramite executor
– Both = entrambi i
meccanismi sono
attivi
Esempio: Prima Installazione (2)
• L'host aggiunto eredita le
property dal suo profilo con i
valori di default previsti.
• Cliccando sul nome della
property la si può modificare
scegliendo il valore tra quelli
ammessi o fornendo un nuovo
valore.
• Le property vengono propagate
sul db locale dell'host
Esempio: Prima Installazione (3)
Il nuovo host è visibile nel pannello di management
Esempio: Prima Installazione (4)
• Il nodo periferico deve essere inizializzato
tramite l'installazione di un CD con il
software di base
• Al termine dell'installazione del CD si deve
attivare la connessione di rete
• Si deve installare il certificato del sistema
di Provisioning
Esempio: Prima Installazione (5)
Il passo successivo sarà quello di selezionare
il nuovo host ed effettuare un UPGRADE
Esempio: Prima Installazione (6)
UPGRADE
• Dopo aver premuto il pulsante di UPGRADE, la
Console mette nella coda del Task Sender
l'operazione di Upgrade da inviare all'host remoto
selezionato.
• Appena l'host riceve il comando viene attivato il
Task Executor UPGRADE che tramite YUM inizia
l'aggiornamento dei pacchetti dai Software
Repository Centrali.
• Gli script post-install effettuano le configurazioni
sostituendo nei template i placeholder con i valori
delle proprietà specifiche per l'host.
Esempio: Prima Installazione (7)
Ogni volta che si modificano le proprietà di un host e
necessario effettuare una RECONFIGURE
Esempio: Prima Installazione (8)
RECONFIGURE
• Dopo aver premuto il pulsante di RECONFIGURE,
la Console mette nella coda del Task Sender
l'operazione di Reconfigure da inviare all'host
remoto selezionato.
• Appena l'host riceve il comando viene attivato il
Task Executor RECONFIGURE che esegue il
comando 'setup reconfigure'
• Vengono rigenerate le configurazioni dei software
sostituendo nei template i placeholder con i valori
aggiornati delle proprietà specifiche per l'host.
Esempio: Reinstallazione
Può accadere di dover reinstallare un nodo
periferico, ad esempio a causa di un guasto.
• Si dovrà procedere con l'installazione del CD di
base sull'host
• Configurazione della rete
• Installazione del certificato del Sistema di
Provisioning
• L'host è già registrato sulla console e quindi non
occorre alcun intervento da questo lato
Esempio: Reinstallazione (2)
Lanciando il comando RESET verranno reinviate
le proprietà all'host remoto
Esempio: Reinstallazione (3)
RESET
• La console invia tutte le proprietà specifiche per
l'host, rigenerando il db locale
UPGRADE
• Successivamente si potrà procedere con l'upgrade
per l'aggiornamento del software installato tramite il
CD di base
RECONFIGURE
• Eventuali modifiche sulle property dovranno essere
seguite dalla reconfigure per aggiornare le
configurazioni del software