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 | ||||||
---|---|---|---|---|---|---|
|
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 | ||||||
---|---|---|---|---|---|---|
|
API/Service Catalog
Service | APIs | UsedBy |
Service/Component/Role Matrix with Descriptions
Stage of Development Color Key: |
Completed | In Development | In Design | Future |
Service | Component | Planning Notes | Role/Use | ||||
Infrastructure Admin | Cluster Admin | Project Admin | Tool Developer | System Service |
---|
Developers Environment |
Tooling (DEVENV) https://github.com/nds-org/ndslabs-developer-shell | Kubernetes Devenv Host-node network IPaddrs |
|
|
| NA | NA | Test project deploy | Test tools | NA |
Kubernetes Devenv |
w/ External firewall IPaddrs |
| NA | NA | Test project with proper public interface | Develop to proper external interface | NA |
Container build support Makefiles |
|
|
| NA | NA | NA | NA | |
OpenStack |
Interface | Production Cluster Deploy |
|
|
| Deploy Cluster Infrastructure | NA | NA | NA | NA |
Volume Interface |
Service |
| Provide vol resources | Allocate vol resources to projects | Implicit use of auto-named vols | NA | Register/track resources |
Catalog, Configure, Deploy |
Service catalog |
Admin Interface (CATADM) |
|
| NA | Admin Catalogs - register catalog URLS | NA | Publish service Needs service format | |
Update local service catalog from configured catalogs (CATSVC) |
| NA | NA | NA | NA | Pull catalogs maintain in etcd |
Project Deploy CLI Deploy service stacks in project |
| NA | NA | Deploy named service stacks in project | NA | Uses kubernetes API |
Project Deploy GUI/Server Web deploy tool on CLI (CCDSRV) |
|
| NA | NA | Web configurator and deploy | Use to test newly developed tools | NA |
Project Service Monitor (PMON) |
| NA | NA | CCD gui | NA | NA |
Cluster Administator/Ops (CADM) |
Cluster Monitor (CMON) |
| NA | Monitor cluster health and performance | NA | NA | NA |
Inter- |
Cluster Services (ICS) | Search |
|
| NA | Registration | Register data resources | relevant for developing search interfaces/tools | External interface to cluster Distributed global service | ||
Registration Cluster registration/federation | Needs development | NA | Global registration | Project resource registration | ?? | Local and global distributed service |
...