Come installare Odoo in alta disponibilità e pronto per la scalabilità di massa

Visualizza categorie

Come installare Odoo in alta disponibilità e pronto per la scalabilità di massa

7 min letto

Panoramica #

Lo scopo di questo articolo è spiegare come creare un'applicazione CRM, fondamentale per un'azienda come Odoo, altamente scalabile. Inoltre, come impostarlo in alta disponibilità per essere tollerante ai guasti e come rafforzare la sicurezza dell'accesso ad esso.

Cos'è l'alta disponibilità? #

L'alta disponibilità è una qualità di un sistema o componente che assicura un alto livello di prestazioni operative, di solito uptime, per un periodo di tempo superiore al normale.

Cos'è l'odoo? #

Odoo (Aka OpenERP) è un software open source aziendale che integra tutte le esigenze aziendali, tra cui CRM, fatturazione, contabilità, sito Web, gestione di magazzino e progetti, produzione, inventario e molto altro ancora!

Impostare RELIANOID Load Balancer #

Con RELIANOID Load Balancer possiamo garantire un'elevata disponibilità e prepararci per la scalabilità di massa per Odoo servizi seguendo i passaggi seguenti.

Tieni presente che, per seguire queste istruzioni, sarà necessario installare un'istanza di RELIANOID Load Balancer e diverse istanze di Odoo applicazioni. Inoltre, è molto importante che il file Postgresql sono replicati tra di loro, al fine di garantire la coerenza.

L'ambiente che descriveremo in questo articolo è mostrato di seguito.

Odoo HA HTTP

Passo 1: crea un IP virtuale #

La creazione di un IP virtuale nel bilanciamento del carico è necessaria in quanto sarà il punto di ingresso Odoo Servizi. Nel nostro esempio ne avremo due Odoo server reali ma è possibile includere tutto ciò che si richiede senza limitazioni. Per creare un nuovo IP virtuale, da RELIANOID Menu principale LB, selezionare Impostazioni-> Interfacce.

Odoo Crea IP virtuale

Trova l'interfaccia fisica in cui desideri creare un IP virtuale e sotto Azione clicca sul pulsante aggiungere interfacce di rete virtuale.

Odoo Aggiungi l'interfaccia di rete virtuale

Digitare l'indirizzo e la maschera di rete del nuovo IP virtuale, deve trovarsi nella stessa subnet del dispositivo fisico. Salvalo facendo clic sul pulsante salva l'interfaccia virtuale.

Odoo salva l'IP virtuale

Passo 2: crea una http farm #

Una farm è una raccolta di server di computer che forniscono funzionalità server che aumentano notevolmente le sue capacità. Quindi, creando una fattoria di Odoo server, aumenteremo le sue prestazioni e scalabilità, che è essenziale per l'alta disponibilità. Al fine di raggiungere questo obiettivo Gestisci-> Fattorie.

Odoo crea una farm di bilanciamento del carico

Fare clic su Aggiungi nuova fattoria e nella nuova finestra, selezionare un nome e HTTP come profilo. Selezioniamo il profilo HTTP perché è l'opzione migliore per i servizi Web ed è necessario analizzare il contenuto dell'applicazione per fornire persistenza a livello di applicazione.

Azienda di bilanciamento del carico HTTP Odoo

Verranno visualizzate altre due opzioni. Seleziona l'IP virtuale creato sul passo 1 e una porta (nell'esempio scegliamo 80, dato che è l'impostazione predefinita per il protocollo HTTP) e fai clic sul Salva pulsante.

Odoo HTTP crea farm

Per ulteriori informazioni sulle fattorie, fare riferimento a Gestire :: aziende agricole.

Passo 3: aggiungi il servizio #

Una volta che la fattoria è stata creata, dobbiamo modificarla per aggiungere un nuovo servizio. Si prega di fare clic sul pulsante modifica fattoria.

Odoo modifica fattoria

Diversi dettagli della fattoria possono essere modificati, ora manterremo i valori predefiniti e aggiungeremo un nuovo servizio.

Odoo modifica la farm http

Nello screenshot in alto, trova il Aggiungi la sezione del servizio, digitare il nome del servizio e fare clic su Aggiungi.

Odoo crea il servizio http

Per ora, lasceremo i valori predefiniti e aggiungeremo solo i backend dove il Odoo i servizi reali saranno in esecuzione. Trova la sezione dei backend e fai clic sul pulsante Aggiungi server reale.

odoo aggiungi server reali

Includere gli indirizzi IP e le porte del Odoo servizi (predefinito 8069 per servizi Odoo), timeout e peso e fare clic su Salva real server.

odoo_configure_backends

È necessario per evitare la commutazione del server: se durante la nostra sessione passiamo da un server all'altro, ci sarà efficienza, dati e persino perdita di comunicazione. Per evitare questo comportamento, il file Sessione di persistenza l'opzione deve essere configurata. Sceglieremo di mantenere una sessione per id di sessione, quindi questo significa che durante una sessione ci collegheremo a un solo server.

Nei parametri globali del servizio ora possiamo modificare il campo della sessione di persistenza in COOKIE: un determinato cookie e cliccare su modificare.

Odoo configura cookie

inserire session_id come identificatore di sessione di persistenza e fare clic su modificare.

Odoo configurazione sessionid

Infine, dobbiamo applicare le modifiche riavviando la farm.

Odoo riavviare il servizio

Congratulazioni! hai configurato Odoo in alta disponibilità. Puoi accedervi digitando http://[VIRTUAL_IP]:[PORT] (nel nostro esempio http://192.168.56.200).

Passo 4: controllo sanitario avanzato #

Ora configureremo il guardiano della farm per eseguire controlli di integrità avanzati sui backend assicurandoci che siano attivi, in esecuzione e il comportamento corretto dell'applicazione, non solo un controllo della porta TCP. Si prega di individuare il Guardiano della fattoria all'interno Odoo servizio che abbiamo impostato nel passaggio 3. Clicca su Utilizzare FarmGuardian per controllare i server di backend, puoi anche modificare l 'intervallo tra il controllo e, infine, nel Comando per controllare casella di testo, digitare il seguente comando:

controlla_http -I HOST -w 10 -c 10 -t 10 -e 200 -p PORT -s ' '

Infine, fai clic su modificare.

Configurazione avanzata dei controlli di integrità Odoo

Il comando check_http verifica le connessioni HTTP con l'host specificato. Nel nostro caso, stiamo usando le seguenti opzioni:

-HOST: Il token HOST verrà sostituito dall'indirizzo IP back-end definito.
-w 10: tempo di risposta per lo stato di avviso: 10 secondi
-c 10: tempo di risposta allo stato critico: 10 secondi
-t 10: 10 secondi prima del timeout della connessione
-e 200: si aspetta la stringa 200 nello stato della risposta del server
-p PORT: La porta token verrà sostituita dalla porta backend definita.
-S ' ': la stringa da aspettarsi nel contenuto è " '

Questo controllo avanzato dello stato garantisce che otteniamo una risposta 200 OK dai real server e che il comando di risposta contenga la stringa ' '. Selezioniamo questa stringa perché si trova alla fine della risposta, in questo modo possiamo garantire di ottenere una risposta corretta dall'applicazione backend.

Passo 5: alta sicurezza #

Odoo non fornisce un canale sicuro per la comunicazione web, ma possiamo farlo facilmente con RELIANOID Load Balancer come mostrato di seguito.

Odoo HA HTTPS

Dobbiamo impostare un listener HTTPS: sul file Modifica i parametri globali della farm schermo, cambia il listener della farm da HTTP a HTTPS e il Porta virtuale a 443.

Configurazione HTTPS SSL Odoo

In questa fase, Odoo è possibile accedere digitando https://[VIRTUAL_IP] nel tuo browser.

Le comunicazioni sicure sono ora in esecuzione, ma possiamo andare oltre configurando i codici HTTPS: all'interno dei parametri globali della farm, individuare il file Impostazioni HTTPS sezione. Possiamo cambiare i codici in Alta sicurezza.

Odoo cifrari ad alta sicurezza

Il campo delle cifre viene utilizzato per creare un elenco di cifre accettate dal server HTTPS al fine di rafforzare la connessione SSL. Selezionando Alta sicurezza, imposteremo di default le cifre.

kEECDH+ECDSA+AES128:kEECDH+ECDSA+AES256:kEECDH+AES128:kEECDH+AES256:kEDH+AES128:kEDH+AES256:DES-CBC3-SHA:+SHA:!aNULL:!eNULL:!LOW:!kECDH:!DSS:!MD5:!EXP:!PSK:!SRP:!CAMELLIA:!SEED

Un'altra opzione è il Certificati HTTPS disponibili: verrà mostrato un elenco di certificati da selezionare per la farm corrente (solo per le farm HTTP, che è il nostro caso). Possiamo selezionarne uno dall'elenco e fare clic su Aggiungi. Infine, fai clic su modificare e riavviare la farm per applicare le modifiche.

Infine, il zencert.pem certificate potrebbe essere utilizzato per testare il listener HTTPS, ma è importante utilizzare il proprio certificato SSL.

Per ulteriori informazioni, fare riferimento a Aziende di profilo HTTP.

Passo 6: web base Odoo #

Odoo costruisce l'URL tenendo conto delle sue impostazioni web.base.url. Se accediamo attraverso RELIANOID Load Balancer vedremo passare l'URL all'URL del backend. Poiché abbiamo configurato le comunicazioni protette tramite HTTPS, questo potrebbe rappresentare un problema e potremmo solo navigare nel file Odoo URL di base. Per evitare questo, dobbiamo impostare il web.base.url parametro in ciascuno vudù server.

Per ottenere questo, accedi a ciascun back-end, e sul pannello di sinistra, vai a Tecnico >> Parametri >> Parametri di sistema e cambia il web.base.url ai RELIANOID Load Balancer IP virtuale e porta selezionati per la farm odoo. Nel nostro esempio sarebbe https: // 192.168.56.200, o anche meglio, https://odoo.mycompany.com.

Configurazione dell'URL web base Odoo

Le caratteristiche tecniche potrebbero essere disabilitate. In questo caso, le opzioni tecniche non saranno disponibili. Per risolvere questo, selezionare Utenti >> Utenti, modificare l'utente corrente e abilitare il Caratteristiche tecniche opzione sotto usabilità.

Passo 7: archivio Odoo #

Ci sono diverse opzioni per configurare il filestore in alta disponibilità.

1. In ogni backend, possiamo montare una memoria condivisa e configurare il percorso locale attraverso il parametro ir_attachment.location nella sezione Impostazioni >> Tecnico >> Parametri >> Parametri di sistema.

2. Se non disponiamo di un'unità per fornire un'elevata disponibilità della risorsa condivisa per l'archivio file, possiamo utilizzare RELIANOID per crearlo per un NFS (Network File System) per essere montato in ogni back-end. Poiché questo servizio utilizza le porte TCP e UDP, possiamo creare un L4xNAT attraverso tutte le porte con un determinato IP Virtuale, che verrà usato per configurare automaticamente il mount al momento dell'avvio attraverso il /etc/fstab file.

3. Un'altra opzione è configurare SSHFS che utilizza il servizio sicuro SSH per utilizzare un filesystem condiviso remoto. Poiché il servizio SSH utilizza la porta TCP 22 per impostazione predefinita, è possibile eseguire il bilanciamento del carico tramite L4xNAT senza problemi in modo simile al caso NFS.

A seconda che sia necessario creare una risorsa di archivio file condiviso attivo-attivo o attivo-passivo, sarà necessaria una replica o una sincronizzazione dei file.

Sebbene questo argomento esuli dallo scopo di questo articolo, verrà affrontato in un articolo dedicato.

Ora i processi e le operazioni aziendali sono pronti per essere scalati impostando Odoo in alta disponibilità RELIANOID, godere!

📄 Scarica questo documento in formato PDF #

    EMAIL: *

    Sviluppato da BetterDocs