Sådan installeres Odoo i høj tilgængelighed og klar til masseskalerbarhed

Se kategorier

Sådan installeres Odoo i høj tilgængelighed og klar til masseskalerbarhed

7 min læses

Oversigt #

Formålet med denne artikel er at forklare, hvordan man laver en CRM-applikation, kritisk for en virksomhed som Odoo, meget skalerbar. Også, hvordan man sætter det op i høj tilgængelighed for at være tolerant over for fejl, og hvordan man forstærker sikkerheden for adgang til det.

Hvad er høj tilgængelighed? #

Høj tilgængelighed er en kvalitet af et system eller en komponent, der sikrer et højt niveau af operationel ydeevne, normalt oppetid, i en længere periode end normalt.

Hvad er odoo? #

Odoo (Aka OpenERP) er en open source-software, der integrerer alle forretningsbehov, inklusive CRM, fakturering, regnskab, hjemmeside, lager- og projektstyring, fremstilling, lagerbeholdning og meget mere!

Opsætning RELIANOID Load Balancer #

Med RELIANOID Load Balancer kan vi sikre høj tilgængelighed og forberede masseskalerbarhed for Odoo tjenester ved at følge nedenstående trin.

Bemærk, at for at følge disse instruktioner vil det være nødvendigt at installere en instans af RELIANOID Load Balancer og flere forekomster af Odoo applikationer. Derudover er det meget vigtigt, at postgresql replikeres mellem dem for at sikre sammenhæng.

Det miljø, vi vil beskrive i denne artikel, er vist nedenfor.

Odoo HA HTTP

Trin 1: Opret en virtuel IP #

Oprettelse af en virtuel IP i belastningsbalanceren er påkrævet, da den vil være indgangspunktet til Odoo tjenester. I vores eksempel vil vi have to Odoo rigtige servere, men du kan inkludere så meget som du har brug for uden nogen begrænsning. For at oprette en ny virtuel IP, fra RELIANOID LB hovedmenu, vælg Indstillinger->Grænseflader.

Odoo Opret virtuel IP

Find den fysiske grænseflade, hvor du vil oprette en virtuel IP og derunder handlinger klik på knappen tilføje virtuelle netværksgrænseflader.

Odoo Tilføj Virtual Network Interface

Indtast adressen og netmasken på din nye virtuelle IP, den skal være i samme undernet som den fysiske enhed. Gem det ved at klikke på knappen gemme virtuel grænseflade.

Odoo gemme virtuel ip

Trin 2: Opret http-farm #

En farm er en samling af computerservere, der leverer serverfunktionalitet, hvilket markant øger dens kapacitet. Så ved at oprette en gård af Odoo servere, vil vi øge dens ydeevne og skalerbarhed, hvilket er afgørende for høj tilgængelighed. For at opnå dette gå til Bestyr->Gårde.

Odoo opret load balancing farm

Klik på Tilføj ny gård og i det nye vindue skal du vælge et navn og HTTP som profil. Vi vælger HTTP-profil, fordi det er den bedste mulighed for webtjenester, og det er nødvendigt at parse applikationsindhold for at give vedholdenhed på applikationsniveau.

Odoo HTTP load balancing farm

Yderligere to muligheder vil blive vist. Vælg den virtuelle IP oprettet på trin 1 og en port (i eksemplet vælger vi 80, da det er standard for HTTP-protokol), og klik på Gem .

Odoo HTTP oprette farm

For mere information om gårde henvises til Bestyr::gårde.

Trin 3: Tilføj tjenesten #

Når gården er oprettet, skal vi redigere den for at tilføje en ny tjeneste. Klik venligst på knappen redigere gård.

Odoo edit farm

Flere detaljer om gården kan redigeres, nu vil vi beholde standardværdierne og tilføje en ny tjeneste.

Odoo rediger http farm

Find skærmbilledet ovenfor Tilføj serviceafsnit, skriv tjenestenavnet og klik på Tilføj.

Odoo oprette http-tjeneste

Indtil videre forlader vi standardværdierne og tilføjer kun backends, hvor Odoo reelle tjenester vil køre. Find backends-sektionen, og klik på Tilføj rigtig server-knap.

odoo tilføje rigtige servere

Inkluder IP-adresser og porte for Odoo tjenester (standard 8069 for Odoo-tjenester), timeout og vægt og klik på gem rigtig server.

odoo_configure_backends

Det er nødvendigt for at undgå serverkommutering: Hvis vi under vores session hopper fra en server til en anden, vil der være effektivitet, data og endda kommunikationstab. For at undgå denne adfærd Vedholdenhed session indstilling skal konfigureres. Vi vil vælge at vedligeholde en session efter sessions-id, så det betyder, at vi under en session kun vil oprette forbindelse til én server.

I tjenestens globale parametre kan vi nu ændre persistenssessionsfeltet til COOKIE: en bestemt cookie og klik på Ændre.

Odoo konfigurere cookie

indsatte Sessions ID som persistenssession-id, og klik på Ændre.

Odoo sessionid konfiguration

Endelig skal vi anvende ændringerne ved at genstarte bedriften.

Odoo genstart service

Tillykke! du har konfigureret Odoo i høj tilgængelighed. Du kan få adgang til det ved at skrive http://[VIRTUAL_IP]:[PORT] (i vores eksempel http://192.168.56.200).

Trin 4: Avanceret sundhedstjek #

Vi vil nu konfigurere gårdens værge for at udføre avancerede sundhedstjek til backends og sikre, at de er oppe, kører og applikationens korrekte opførsel, ikke kun et TCP-porttjek. Find venligst Gårdværge i Odoo service vi har sat op i trin 3. Klik på Brug FarmGuardian til at tjekke backend-servere, kan du også ændre tiden mellem check og endelig i Kommando for at kontrollere tekstboks, skriv følgende kommando:

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

Endelig skal du klikke på Ændre.

Odoo avancerede sundhedstjek konfiguration

Kommandoen check_http tester HTTP-forbindelser med den angivne vært. I vores tilfælde bruger vi følgende muligheder:

-Jeg VÆR: Token-HOST vil blive erstattet af den definerede backend-IP-adresse.
-w 10: responstid for at resultere i advarselsstatus: 10 sekunder
-c 10: responstid på kritisk status: 10 sekunder
-t 10: 10 sekunder før forbindelsen timeout
-e 200: forventer strengen 200 i status for serversvaret
-p PORT: Token PORT vil blive erstattet af den definerede backend-port.
-s' ': streng at forvente i indhold er ' '

Dette avancerede sundhedstjek sikrer, at vi får et 200 OK-svar fra de rigtige servere, og at responskommandoen indeholder strengen ' '. Vi vælger denne streng, fordi den er i slutningen af ​​svaret, på denne måde kan vi garantere, at vi får et korrekt svar fra backends-applikationen.

Trin 5: Høj sikkerhed #

Odoo giver ikke en sikker kanal til webkommunikation, men vi kan nemt opnå dette med RELIANOID Load Balancer som vist nedenfor.

Odoo HA HTTPS

Vi er nødt til at konfigurere en HTTPS-lytter: På Rediger gårdens globale parametre skærm, skal du ændre farm-lytteren fra HTTP til HTTPS og Virtuel port til 443.

Odoo SSL HTTPS-konfiguration

På dette tidspunkt, Odoo kan tilgås ved at skrive https://[VIRTUAL_IP] i din browser.

Sikker kommunikation kører nu, men vi kan gå videre ved at konfigurere HTTPS-cifrene: i farmens globale parametre, find HTTPS-indstillinger afsnit. Vi kan ændre chifferne til HØJ Sikkerhed.

Odoo-cifre med høj sikkerhed

Chifferfeltet bruges til at bygge en liste over chiffer accepteret af HTTPS-serveren for at hærde SSL-forbindelsen. Ved at vælge HØJ sikkerhed, vil vi som standard indstille chifferne.

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

En anden mulighed er HTTPS-certifikater tilgængelige: en liste over certifikater vil blive vist for at blive valgt for den aktuelle farm (kun for HTTP-farme, hvilket er vores tilfælde). Vi kan vælge en fra listen og klikke videre Tilføj. Endelig skal du klikke på Ændre og genstart gården for at anvende ændringer.

Endelig zencert.pem certifikat kan bruges til at teste HTTPS-lytteren, men det er vigtigt at bruge dit eget SSL-certifikat.

For yderligere information henvises til HTTP-profilfarme.

Trin 6: Odoo-webbase #

Odoo opbygger URL'en under hensyntagen til dens indstilling web.base.url. Hvis vi får adgang igennem RELIANOID Load Balancer vil vi se URL skifte til backends URL. Da vi har konfigureret sikker kommunikation via HTTPS, kan dette udgøre et problem, og vi kunne kun navigere til Odoo basis-URL. For at undgå dette skal vi indstille web.base.url parameter i hver odoo serveren.

For at opnå dette skal du få adgang til hver backend og gå til i venstre panel Tekniske >> Parametre >> Systemparametre og ændre web.base.url til RELIANOID Load Balancer virtuel IP og port valgt til odoo-farmen. I vores eksempel ville være https://192.168.56.200, eller endnu bedre, https://odoo.mycompany.com.

Odoo-webbase-url-konfiguration

De tekniske funktioner kan være deaktiveret. Hvis det er tilfældet, vil de tekniske muligheder ikke være tilgængelige. For at løse dette, vælg Brugere >> Brugere, rediger den aktuelle bruger og aktiver Tekniske detaljer mulighed under Usability.

Trin 7: Odoo filestore #

Der er flere muligheder for at konfigurere fillageret i High Availability.

1. I hver backend kan vi montere et delt lager og konfigurere den lokale sti gennem parameteren ir_attachment.location under afsnittet Indstillinger >> Teknisk >> Parametre >> Systemparametre.

2. Hvis vi ikke har en enhed til at give høj tilgængelighed af den delte ressource til fillageret, kan vi bruge RELIANOID at skabe det til en NFS (Netværksfilsystem) service for at blive monteret i hver backend. Da denne tjeneste bruger TCP- og UDP-porte, kan vi oprette en L4xNAT gennem alle porte under en bestemt virtuel IP, som vil blive brugt til at konfigurere monteringen automatisk ved opstart via / Etc / fstab fil.

3. En anden mulighed er at konfigurere SSHFS som bruger den sikre SSH-tjeneste til at bruge et eksternt delt filsystem. Da SSH-tjenesten bruger TCP 22-port som standard, der kan belastningsbalanceres gennem en L4xNAT uden bekymring på samme måde som NFS-tilfældet.

Afhængigt af om det er nødvendigt for at oprette en aktiv-aktiv eller aktiv-passiv delt fillagerressource, vil det være nødvendigt med en replikering eller synkronisering af filerne.

Selvom dette emne er uden for denne artikels omfang, vil det blive behandlet i en dedikeret artikel.

Nu er dine forretningsprocesser og operationer klar til at skalere og indstille Odoo i High Availability med RELIANOID, god fornøjelse!

📄 Download dette dokument i PDF-format #

    EMAIL: *

    drevet af BetterDocs