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