[Home] [Installation Information] [Docker Install] [Kubernetes Install] [Configuration Parameters] [Network Control via Ansible] [Operations] [Debuggging][QOS]

General information

Site resource manager require several Services (Frontend, Agent, Debugger).

  • Frontend is responsible for: communication with Orchestrator(s), Accept deltas, Prepare Model, Control switches on LAN, Get all configuration from all DTNs/Agents. Minimum one Frontend is needed for a single domain.
  • Agent is responsible for: gathering DTN Information, creating vlan interfaces, applying QOS.
  • Debugger is responsible for issuing iPerf, FDT, Ping, Traceroute tests.

Please consult individual cases with the SENSE team before deploying: sense-all@googlegroups.com

In case have issues with any SENSE SiteRM Software, please send an email to sense-all@googlegroups.com

Before start

Supported architectures: amd64/x86_64.

Frontend: Each site requires 1 Frontend.

  • Installation type supported: Docker or Kubernetes
  • Certificates: Frontend requires cert, key certificates for its services. (Let’s encrypt/Incommon)
  • Networking: Frontend requires some ports open (Can be limited to a specific list of nodes, the list below):
    • sense-o.es.net - Production Orchestrator. (Port 8080, 8443)
    • sense-o-dev.es.net - Development Orchestrator. (Port 8080, 8443)
    • k8s-igrok-0[123456].calit2.optiputer.net (67.58.51.132-67.58.51.137) - SENSE Monitoring and Alarming service. (Port 8080, 8443, 9100)
    • Local Agents - Any Agent you deploy will need access Frontend.

Agent: Runs on each DTN you want SENSE to control, monitor. It will register and communicate with Frontend for control, monitoring.

  • Installation type supported: Docker or Kubernetes
  • Certificate: The agent requires a host certificate and key pair. (Let’s encrypt/Incommon)
  • Networking: No ports open needed (see exception below for monitoring)
  • Monitoring: SENSE Uses Prometheus and node_exporter to monitor all DTN deployments. If you want your DTN to be monitored and alerted - please ensure you have node_exporter installed and the port open.

Debugger: Runs on each DTN along to an Agent container. In case of Kubernetes and Multus deployments, it is expected to run Debugger also in each of the Multus Network Namespaces (to allow issue L3 probes).

  • Installation type supported: Docker or Kubernetes
  • Certificate: The debugger requires a host certificate and key pair. (Let’s encrypt/Incommon)
  • Networking: No ports open needed

Frontend, Agent and Debugger configuration

SiteRM-FE and SiteRM-Agent Configuration files are kept on GitHub repo here. Each SiteRM Service (Frontend/Agent) pull from Github repo configuration files once an hour and use the latest configuration. Please refer to this link for Frontend and Agent configuration and it’s parameters, examples. In case of Debugger - it can re-use any of the agent configurations (no need additional config file). Debugger only looks for Frontend hostname and dynamically reports all information.

SiteRM-FE Installation First time (Kubernetes cluster with Helm)

  • Prerequisites:
    • Make sure you have Kubernetes cluster installed. You will need to have Kubernetes config and know namespace you want to use for deployment.
    • Configuration files are present in Git Repo for your Site (Take a note of SiteName and MD5 Hash). MD5 is optional - and if not specified, SiteRM will use md5(hostname) by default
    • You have Certificate, Key available and valid (or you can use HELM Chart Certificate section if have cert-manager available).
  • Get the following override values file: values.yaml
  • Modify the downloaded file and specify the SiteName and MD5 parameters for that Specific Frontend and or any other parameters needed, e.g. Certificate Issuer details.
  • If done first time, install helm repo: helm repo add siterm https://sdn-sense.github.io/helm-charts
  • Update to latest helm repo charts: helm repo update
  • Install the helm chart on your Kubernetes cluster: helm install siterm siterm/siterm-fe -f values.yaml

SiteRM-FE Upgrade (Using Kubernetes with Helm)

  • Please look for any changes required to support new release here: https://github.com/sdn-sense/siterm/releases
  • Update to latest helm repo charts: helm repo update
  • Modify the values.yaml file with new parameters or changes as per new release. (if needed)
  • Upgrade the helm chart on your Kubernetes cluster: helm install siterm siterm/siterm-fe -f values.yaml

SiteRM-Agent Installation (Kubernetes cluster with Helm)

  • Prerequisites:
    • Make sure you have Kubernetes cluster installed. You will need to have Kubernetes config and namespace you want to use.
    • Configuration files are present in Git Repo for your Site (Take a note of SiteName and MD5 Hash). MD5 is optional - and if not specified, SiteRM will use md5(hostname) by default
    • You have Certificate, Key generated or if you have Issuer/ClusterIssuer on your Kubernetes cluster, you can use HELM to generate new certificates
  • Get the following override values file: values.yaml
  • Modify the downloaded file and specify the SiteName and MD5 parameters for that Specific Agent/DTN and or any other parameters needed, e.g. Certificate Issuer details.
  • If done first time, install helm repo: helm repo add siterm https://sdn-sense.github.io/helm-charts
  • Update to latest helm repo charts: helm repo update
  • Install the helm chart on your Kubernetes cluster: helm install siterm siterm/siterm-agent -f values.yaml

SiteRM-Agent Upgrade (Using Kubernetes cluster with Helm)

  • Please look for any changes required to support new release here: https://github.com/sdn-sense/siterm/releases
  • Update to latest helm repo charts: helm repo update
  • Modify the values.yaml file with new parameters or changes as per new release. (if needed)
  • Upgrade the helm chart on your Kubernetes cluster: helm install siterm siterm/siterm-agent -f values.yaml

SiteRM-Debugger Installation (Kubernetes cluster with Helm)

  • Prerequisites:
    • Make sure you have Kubernetes cluster installed. You will need to have Kubernetes config and namespace you want to use.
    • Configuration files are present in Git Repo for your Site (Take a note of SiteName and MD5 Hash). Please re-use any of the agent configuration
    • You have Certificate, Key generated or if you have Issuer/ClusterIssuer on your Kubernetes cluster, you can use HELM to generate new certificates
  • Get the following override values file: values.yaml
  • Modify the downloaded file and specify the SiteName and MD5 parameters for that Specific Agent/DTN and or any other parameters needed, e.g. Certificate Issuer details.
  • IMPORTANT: In case deploying multiple debuggers and re-use same configuration file, make sure to specify customPodName. See details inside values.yaml file.
  • If done first time, install helm repo: helm repo add siterm https://sdn-sense.github.io/helm-charts
  • Update to latest helm repo charts: helm repo update
  • Install the helm chart on your Kubernetes cluster: helm install siterm siterm/siterm-debugger -f values.yaml

SiteRM-Debugger Upgrade (Using Kubernetes cluster with Helm)

  • Please look for any changes required to support new release here: https://github.com/sdn-sense/siterm/releases
  • Update to latest helm repo charts: helm repo update
  • Modify the values.yaml file with new parameters or changes as per new release. (if needed)
  • Upgrade the helm chart on your Kubernetes cluster: helm install siterm siterm-agent/siterm-debugger -f values.yaml

DTNs Monitoring (to be run in parallel with SiteRM-Agent)

The node_exporter from Prometheus is designed to monitor the host system. There are several ways to allow SENSE team monitor DTNs:

  • If you already have node_exporter running on DTN you dont need to install another one. Open Node Exporter port for SENSE Monitoring services: k8s-igrok-0[123456].calit2.optiputer.net (67.58.51.132-67.58.51.137)
  • To install node_exporter on bare metal, please follow official documentation here: https://prometheus.io/docs/guides/node-exporter/
    • Please make sure that it uses --path.rootfs=/host and --collector.netdev.address-info flags for node_exporter on bare metal instalation.
  • In case you dont want to install it on a bare metal machine, you can run node_exporter inside Docker or Kubernetes:
  • (Once deployed) - Please update your agent configuration on Config Git here and specify config parameter node_exporter in general section.