docs: update node types to include lxc/docker type documentation, instead of being hidden within examples
This commit is contained in:
parent
1ce6e51318
commit
b78c07bd24
5 changed files with 58 additions and 46 deletions
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"bridge": "none",
|
||||
"iptables": false
|
||||
|
||||
}
|
|
@ -1,28 +1,40 @@
|
|||
# Docker Support
|
||||
# Docker Node Support
|
||||
|
||||
Information on how Docker can be leveraged and included to create
|
||||
nodes based on Docker containers and images to interface with
|
||||
existing CORE nodes, when needed.
|
||||
## Overview
|
||||
|
||||
Provided below is some information for helping setup and use Docker
|
||||
nodes within a CORE scenario.
|
||||
|
||||
## Installation
|
||||
|
||||
### Debian Systems
|
||||
|
||||
```shell
|
||||
sudo apt install docker.io
|
||||
```
|
||||
|
||||
### RHEL Systems
|
||||
|
||||
|
||||
## Configuration
|
||||
|
||||
Custom configuration required to avoid iptable rules being added and removing
|
||||
the need for the default docker network, since core will be orchestrating
|
||||
connections between nodes.
|
||||
|
||||
Place the file below in **/etc/docker/**
|
||||
* daemon.json
|
||||
Place the file below in **/etc/docker/docker.json**
|
||||
|
||||
```json
|
||||
{
|
||||
"bridge": "none",
|
||||
"iptables": false
|
||||
}
|
||||
```
|
||||
|
||||
## Group Setup
|
||||
|
||||
To use Docker nodes within the python GUI, you will need to make sure the user running the GUI is a member of the
|
||||
docker group.
|
||||
To use Docker nodes within the python GUI, you will need to make sure the
|
||||
user running the GUI is a member of the docker group.
|
||||
|
||||
```shell
|
||||
# add group if does not exist
|
||||
|
@ -35,18 +47,10 @@ sudo usermod -aG docker $USER
|
|||
newgrp docker
|
||||
```
|
||||
|
||||
## Tools and Versions Tested With
|
||||
## Image Requirements
|
||||
|
||||
* Docker version 18.09.5, build e8ff056
|
||||
* nsenter from util-linux 2.31.1
|
||||
|
||||
## Examples
|
||||
|
||||
This directory provides a few small examples creating Docker nodes
|
||||
and linking them to themselves or with standard CORE nodes.
|
||||
|
||||
Images used by nodes need to have networking tools installed for CORE to automate
|
||||
setup and configuration of the container.
|
||||
Images used by Docker nodes in CORE need to have networking tools installed for
|
||||
CORE to automate setup and configuration of the network within the container.
|
||||
|
||||
Example Dockerfile:
|
||||
```
|
||||
|
@ -59,3 +63,8 @@ Build image:
|
|||
```shell
|
||||
sudo docker build -t <name> .
|
||||
```
|
||||
|
||||
## Tools and Versions Tested With
|
||||
|
||||
* Docker version 18.09.5, build e8ff056
|
||||
* nsenter from util-linux 2.31.1
|
|
@ -20,15 +20,15 @@ networking scenarios, security studies, and increasing the size of physical test
|
|||
|
||||
| Topic | Description|
|
||||
|-------|------------|
|
||||
|[Architecture](architecture.md)|Overview of the architecture|
|
||||
|[Installation](install.md)|How to install CORE and its requirements|
|
||||
|[Architecture](architecture.md)|Overview of the architecture|
|
||||
|[Node Types](nodetypes.md)|Overview of node types supported within CORE|
|
||||
|[GUI](gui.md)|How to use the GUI|
|
||||
|[(BETA) Python GUI](pygui.md)|How to use the BETA python based GUI|
|
||||
|[Python API](python.md)|Covers how to control core directly using python|
|
||||
|[gRPC API](grpc.md)|Covers how control core using gRPC|
|
||||
|[Distributed](distributed.md)|Details for running CORE across multiple servers|
|
||||
|[Node Types](nodetypes.md)|Overview of node types supported within CORE|
|
||||
|[CTRLNET](ctrlnet.md)|How to use control networks to communicate with nodes from host|
|
||||
|[Control Network](ctrlnet.md)|How to use control networks to communicate with nodes from host|
|
||||
|[Services](services.md)|Overview of provided services and creating custom ones|
|
||||
|[EMANE](emane.md)|Overview of EMANE integration and integrating custom EMANE models|
|
||||
|[Performance](performance.md)|Notes on performance when using CORE|
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
# LXD Support
|
||||
# LXC Support
|
||||
|
||||
Information on how LXD can be leveraged and included to create
|
||||
nodes based on LXC containers and images to interface with
|
||||
existing CORE nodes, when needed.
|
||||
LXC nodes are provided by way of LXD to create nodes using predefined
|
||||
images and provide file system separation.
|
||||
|
||||
## Installation
|
||||
|
||||
### Debian Systems
|
||||
|
||||
```shell
|
||||
sudo snap install lxd
|
||||
```
|
||||
|
@ -38,8 +39,3 @@ newgrp lxd
|
|||
|
||||
* LXD 3.14
|
||||
* nsenter from util-linux 2.31.1
|
||||
|
||||
## Examples
|
||||
|
||||
This directory provides a few small examples creating LXC nodes
|
||||
using LXD and linking them to themselves or with standard CORE nodes.
|
|
@ -5,18 +5,30 @@
|
|||
|
||||
## Overview
|
||||
|
||||
Different node types can be configured in CORE, and each node type has a
|
||||
*machine type* that indicates how the node will be represented at run time.
|
||||
Different machine types allow for different options.
|
||||
Different node types can be used within CORE, each with their own
|
||||
tradeoffs and functionality.
|
||||
|
||||
## Netns Nodes
|
||||
## CORE Nodes
|
||||
|
||||
The *netns* machine type is the default. This is for nodes that will be
|
||||
backed by Linux network namespaces. This machine type uses very little
|
||||
system resources in order to emulate a network. Another reason this is
|
||||
designated as the default machine type is because this technology typically
|
||||
requires no changes to the kernel; it is available out-of-the-box from the
|
||||
latest mainstream Linux distributions.
|
||||
CORE nodes are the standard node type typically used in CORE. They are
|
||||
backed by Linux network namespaces. They use very little system resources
|
||||
in order to emulate a network. They do however share the hosts file system
|
||||
as they do not get their own. CORE nodes will have a directory uniquely
|
||||
created for them as a place to keep their files and mounted directories
|
||||
(`/tmp/pycore.<session id>/<node name.conf`),
|
||||
which will usually be wiped and removed upon shutdown.
|
||||
|
||||
## Docker Nodes
|
||||
|
||||
Docker nodes provide a convenience for running nodes using predefind images
|
||||
and filesystems that CORE nodes do not provide. Details for using Docker
|
||||
nodes can be found [here](docker.md).
|
||||
|
||||
## LXC Nodes
|
||||
|
||||
LXC nodes provide a convenience for running nodes using predefind images
|
||||
and filesystems that CORE nodes do not provide. Details for using LXC
|
||||
nodes can be found [here](lxc.md).
|
||||
|
||||
## Physical Nodes
|
||||
|
||||
|
|
Loading…
Reference in a new issue