Od verzie 26 systém D2000 podporuje kontajnerizáciu na platforme Kubernetes (K8s).
Tento dokument obsahuje základný prehľad vlastností a funkcionality.
Prehľad
Kontajnerizovaná D2000 má nasledovné vlastnosti:
- Každý D2000 proces má samostatný image a je spustený ako samostatný pod. Prostriedkami K8s je možné ho samostatne štartovať, vypínať, reštartovať, aktualizovať.
- Inštalácia D2000 je umiestnená v adresári /opt/d2000.
- Proces D2000 Server a k nemu prislúchajúce procesy (CLC, EVH, EDS, ARC, ...) majú namapované spoločný diskový priestor:
- Konfiguračné súbory inštalácie D2000 sú umiestnené v adresári /config/d2000 (súbory instance.properties, ConsolesInfo.txt, LicenceRun.code). Tento adresár je zverejnený v environment premennej D2000_HOME.
- Konfiguračné súbory aplikácie D2000 sú umiestnené v aplikačnom adresári /opt/d2000/app/<appname> (súbory application.properties, client.properties).
- Adresár s logmi je umiestnený v adresári inštalácie (/opt/d2000/log).
- Konfiguračná, monitorovacia a archívna databáza sú na PostgreSQL databázových serveroch umiestnených mimo prostredie Kubernetes. Pody s procesmi D2000 Server a D2000 Archív majú nakonfigurované ODBC spojenia na príslušné databázy (konfiguračný súbor /config/odbc/odbc.ini zverejnený v environment premennej ODBCINI).
Poznámka: Aby sa nerozpadávali TCP spojenia medzi D2000 procesmi a PostgreSQL databázovými servermi, je potrebné v konfiguráciach ODBC spojení v konfiguračnom súbore /config/odbc/odbc.ini nastaviť nenulové parametre KeepaliveTime a KeepaliveInterval, odporúčaná hodnota je 60 sekúnd:
KeepaliveTime = 60
KeepaliveInterval = 60 - Procesy D2000 Server, D2000 Kom a D2000 Web server majú nastavené príslušné capabilities (prístup na privilegované sieťové porty, raw sockety, prípadne špeciálne súbory [sériové porty]) pomocou nastavenia capabilities (v konfiguračných YAML súboroch aj v dodávaných kontajnerových images).
- Licencovanie: V prostredí K8s je použitý externý Licenčný server (môže ísť o verejný Ipesoft licenčný server alebo licenčný server v infraštruktúre zákazníka, ktorý používa Nitrokey USB kľúč).
Poznámka: Teoreticky je možné použiť aj kontajnerizovaný Licenčný server, ktorý by bol spustený ako pod na dedikovanom node a mal prístup k Nitrokey USB kľúču pripojenému k tomuto nodu; táto funkcionalita zatiaľ nebola podporená.
Referenčná implementácia
Referenčná implementácia zahŕňa redundantnú (2-nodovú) aplikáciu D2000.
V prostredí K8s sú spustené 2 procesy D2000 Server (A, B), pričom pomocou konfigurácie anti-afinity je dosiahnuté, že nebežia v rámci jedného nodu. V rámci aplikácie sú spustené všetky potrebné procesy ako samostatné pody, pričom pomocou konfigurácie afinity je dosiahnuté, že bežia na tom istom node ako príslušný D2000 Server.
Redundantná aplikácia má dva procesy D2000 Archív, fungujúce ako inštancie (aktívna a pasívne) a pripájajúce sa k aktívnemu (HOT) procesu D2000 Server. Pomocou konfigurácie afinity je dosiahnuté, že inštancia 1 bežia node s D2000 Serverom A, inštancia 2 s D2000 Serverom B.
Utilita D2000 CfgSynchroAuto je spúšťaná automaticky procesom D2000 Server pri pripájaní druhého procesu D2000 Server do redundancie, na synchronizáciu konfiguračných databáz.
Utilita D2000 Arcsynchro je spúšťaná automaticky príslušnou inštanciou procesu D2000 Archív pri štarte na zaplátanie diery v jeho archívnej databáze.
Konfiguračné YAML súbory sú vygenerované pomocou Help Chart súborov.
Sieťové prestupy
Do prostredia Kubernetes clustra sú povolené štandardne porty:
Do vonkajšieho prostredia sú povolené štandardne porty:
- TCP port 5432: Prístup procesu D2000 Server na konfiguračnú a monitorovaciu databázu, prístup procesu D2000 Archív na archívnu databázu.
- Prístup na licenčné servery. Ak sú použité verejné licenčné servery, je nutné povoliť prístup na TCP porty 443 na servery lic-v2-a.ipesoft.com a lic-v2-b.ipesoft.com.