Overview
Main components are
- sdnc-dm = sdnc image in sdnrwt=true configuration
- sdnc-web = sdnc-web image
- sdnc-db = elasticsearch and nginx images
Details: Disaggregated Architecture
Pod and service structure
Deployment Options
Deployment options are configured within values.yaml via booleans.
- SDNRWT: devicemanager + internal WEB Server
- SDNRDM: devicemanager relateded bundles, but not web related
- SDNRINIT: Only database initialization than terminating. See: SDN-R Data Migration Tool
Database configuration by SDNRDBURL, SDNRDBUSERNAME, SDNRDBPASSWORD.
SDNRWT | SDNRDM | SDNRINIT | Meaning |
---|---|---|---|
false | false | false | (Default setting of flags). SDNR deactivated, but normal SDNC startup for other features, like oofpci. |
true | x | x | devicemanager + internal WEB Server. SDNRDBURL, SDNRDBUSERNAME, SDNRDBPASSWORD |
x | true | x | devicemanager. SDNRDBURL, SDNRDBUSERNAME, SDNRDBPASSWORD |
x | x | true | init container function. SDNRDBURL, SDNRDBUSERNAME, SDNRDBPASSWORD |
all other combinations | SDNR error state. Container ends log contains error |
Enhancement/integration of oom/sdnc follows from left (low complexity) to right (highest complexity)
Step 1: SDNRDM enabled
- introduce config switch (see - SDNC-742Getting issue details... STATUS )
- define elastic service for dataprovider:
resources/config/conf/dataprovider.properties - mount dataprovider.properties to sdnc container
Step 2: Disaggregated sdnc-web cluster
- add new service 'sdnc-web' into sdnc/templates/statefulset.yaml
add new sdnc-web image?
no persistent volumes are required
Step 3: provide local elastic DB cluster
Changes in OOM:
/kubernetes/sdnc/
- introduce config switch (see - SDNC-742Getting issue details... STATUS )
- introduce deployment.yaml for
Environment Variables for Configuration
env var | config file | description |
---|---|---|
$SDNC_ESUSER | dataprovider.properties | elasticsearch basicAuth Username |
$SDNC_ESPASSWD | dataprovider.properties | elasticsearch basicAuth Password |
Database Initialization
ElasticSearch database needs to be initialized by a script.
bin/es-init.sh
OOM enhancement: define kubernetes Job to execute e-init.sh