Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note

This page is out of date and does not reflect the current Labs Workbench architecture.

 

Note:  Also see architecture/design notes within the source code under docs

...

The NDS Labs reference infrastructure is OpenStack.  A cluster begins with a cluster of 6 OpenStack VMs.  The cluster admin can add additional compute nodes as-needed based on dynamic demand.

Gliffy Diagram
size400
nameopenstack
      Image Modified

Layer 1 - Kubernetes Container and Service Orchestration Layer

...

The NDS Labs architecture layer services on top of kubernetes that implement the NDS Labs services to manage and monitor the cluster, provision and manage resources for projects in the cluster, and provide project managers the ability to manage software service stacks within their project.  The NDS Labs services leverage the facilities of the underlying kubernetes cluster orchestration system and the etcd system for managing configuration and state information of the services.  

Gliffy Diagram
size1200900
nameNDSServiceLayer

API/Service Catalog

Service

APIs

UsedBy

 

 Service/Component/Role Matrix with Descriptions

Stage of Development Color Key:
 
CompletedIn DevelopmentIn DesignFuture

Service
Description

Component
Description

Planning Notes

Role/Use

Infrastructure AdminCluster AdminProject AdminTool DeveloperSystem Service
DEVENV

Developers Environment
and

tooling 

Tooling (DEVENV)

https://github.com/nds-org/ndslabs-developer-shell


https://github.com/nds-org/ndslabs-system-shell

Kubernetes Devenv
Host-node network IPaddrs
NDSC
  • NDSC5 - Planned for managed

  • small-scale release to handful

  • of early adopters 
NANATest project deployTest toolsNA
 Kubernetes Devenv

w/ External firewall IPaddrs
  • Needs tests/design
  • etcd/connfd/nginx 
NANATest project with
proper public interface 
Develop to proper
external interface 
NA
Container build support
Makefiles 
  • Needs: docs, instructions,

  • catalog yml support,

  • publish process integration 
NANANA NA

OpenStack
Platform

interface

Interface

Production Cluster Deploy 
Ifrastructure
  • Infrastructure provision done
  • Needs production config
-
  • : TLS, security, data
persistnence
  • persistence
 
Deploy Cluster InfrastructureNANANANA
 Volume Interface
service
Service
  • Needed for OpenStack deploy
Provide vol resourcesAllocate vol resources
to projects 
Implicit use of
auto-named vols 
NARegister/track resources
CCD

Catalog, Configure, Deploy

CATADM

(CCD)
 https://github.com/nds-org/ndslabs

Service catalog

admin interface

Admin Interface (CATADM)
Register catalog URLs in etcd 

NDSC
  • NDSC5 demo
comopnent 
  • component 
NAAdmin Catalogs -
register catalog URLS 
NAPublish service
Needs service format 
 
 
CATSVC
Update local service catalog
from configured catalogs (CATSVC)
NDSC
  • NDSC5 demo component
NANANANAPull catalogs
maintain in etcd 
 Project Deploy CLI
Deploy service stacks in project 
NDSC
  • NDSC5 demo
NANADeploy named service
stacks in project 
NAUses kubernetes API
 
CCDSRV
Project Deploy GUI/Server
Web deploy tool on CLI  (CCDSRV)
NDSC
  • NDSC5 demo
  • Needs volume
mgmt
  • management CLI 
NANAWeb configurator
and deploy 
Use to test newly
developed tools 
NA
 
PMON
Project Service Monitor (PMON)
NDSC
  • NDSC5 demo
  • Display state of stacks in project 
NANACCD guiNANA
CADM
Cluster Administator/Ops (CADM)
CMON -
Cluster Monitor (CMON)
NDSC
  • NDSC5 demo component
  • ELK, cadvisor/prometheus, etc.
  • Graphical tools
  • Needs configuration and testing 
NAMonitor cluster health
and performance 
NANANA
ICS
Inter-
cluster services 
Cluster Services  (ICS)Search
  • Search across all NDSL clusters
  • Needs research, requirements,

  • plan 
NARegistrationRegister data resourcesrelevant for developing
search interfaces/tools 
External interface to cluster
Distributed global service 
 Registration
Cluster registration/federation
Needs developmentNAGlobal registrationProject resource registration??Local and global distributed service

 

...