We require three main configurations when starting a simulation: the architecture model, experiment model and the orchestration config. This document describes entities from the orchestration config. For configuration options of the MiSim core, architecture and experiment model syntax, we refer to the MiSim repository.
The orchestration config is a YAML file with the following entries:
Key | Required? | Datatype | Meaning |
---|---|---|---|
orchestrate | yes | boolean | Should orchestration plugin be activated |
orchestrationDir | yes | String | Path to directory where Kubernetes files are located |
importNodes | no | boolean | Should node definition be parsed from Kubernetes files |
nodes | no | object | Has two fields: amount defines how many nodes should be created, cpu defines how many allocatable cores each node has |
customNodes | no | array of object | Each entry defines a node and has two fields: name is the name of the node, cpu the number of allocatable cores |
networkDelays | no | object | Has two fields: enabled is a boolean specifying whether network delays should be used or not, delayMap specifies mean and standard deviation of network delays (interpreted as bi-directional round trip times), format is:<br/>sourceNode:<br/> targetNode1:<br/> mean: 2.0<br/> std: 0.1<br/> targetNode2:<br/> mean: 1.0<br/> std: 0.1<br/> |
scaler | no | object | Has two fields: importScaler defines whether HPAs should be read from Kubernetes files, scalerList allows to set autoscalers for services manually |
scalingInterval | no | int | In which interval (in seconds) should we check for scaling (default: 15) |
scheduler | no | String | Scheduler to use per default, allowed: random , kube , roundRobin (default: kube ) |
initialSchedulingOrder | no | object | Has two fields: enabled is a boolean specifying whether predefined scheduling order should be used, order is an array of strings (service names) representing the scheduling order from first to last |
schedulerPrio | no | array of object | When using multiple schedulers, scheduling priorities (analogously to Kubernetes) can be specified. Each entry has a name (string) and prio (int) |
healthCheckDelay | no | int | Delay in seconds for health checks |
startUpTimeContainer | no | array of object | Array containing objects with two fields: name is the service name and time is the startup delay in seconds |
useClusterAutoscaler | no | boolean | Defines whether cluster autoscaler should be used or not |