Oktopus Controller Docs
Contact
  • Welcome
  • Getting Started
    • About
    • Architecture
    • Requirements
      • Network
    • Installation
      • Standalone
      • High Availability
      • FAQ
    • Community Edition
    • Enterprise Edition
      • Scripts
    • Integrations
  • Device Configuration
    • Simulators
      • (USP) Agent Simulator
    • Open Source Platforms
      • PrplOS
      • OpenWRT
  • USP (TR-369)
    • Introduction
    • Architecture
    • MTPs
      • MQTT
  • CWMP (TR-069)
    • Introduction
    • Architecture
  • Reference
    • Bibliography
Powered by GitBook
On this page
  • Installation
  • Download Files
  • HAProxy Ingress Controller
  • MongoBD
  • NATS Server
  • Oktopus
  • Checking cluster status:

Was this helpful?

Edit on GitHub
  1. Getting Started
  2. Installation

High Availability

For deployments with failover and advanced container management/orchestration, Kubernetes and it's flavors are the go-to option. This section aims to provide a example deployment that may need to be changed according to your environment specifics, as hardware/software Load Balancers, cluster nodes, firewall, bare-metal or cloud environment.

Installation

Download Files

git clone https://github.com/OktopUSP/oktopus
export DEPLOYMENT_PATH=oktopus/deploy/kubernetes

HAProxy Ingress Controller

helm install haproxy-kubernetes-ingress haproxytech/kubernetes-ingress \
  --create-namespace \
  --namespace haproxy-controller \
  --set controller.kind=DaemonSet \
  --set controller.daemonset.useHostPort=true

MongoBD

# Mongo DB Operator at mongodb namespace
helm repo add mongodb https://mongodb.github.io/helm-charts

helm install community-operator mongodb/community-operator --namespace mongodb --create-namespace

# Mongo DB ReplicaSet
export DEPLOYMENT_PATH=oktopus/deploy/kubernetes

kubectl apply -f $DEPLOYMENT_PATH/mongodb.yaml -n mongodb

# Check Installation
kubectl get pods -n mongodb

NATS Server

# Download the NATS charts
helm repo add nats https://nats-io.github.io/k8s/helm/charts/

# Install NATS with Jetstream Enabled
helm install nats nats/nats --set config.jetstream.enabled=true

Oktopus

kubectl apply -f $DEPLOYMENT_PATH/mqtt.yaml
kubectl apply -f $DEPLOYMENT_PATH/mqtt-adapter.yaml
kubectl apply -f $DEPLOYMENT_PATH/adapter.yaml
kubectl apply -f $DEPLOYMENT_PATH/controller.yaml
kubectl apply -f $DEPLOYMENT_PATH/socketio.yaml
kubectl apply -f $DEPLOYMENT_PATH/frontend.yaml
kubectl apply -f $DEPLOYMENT_PATH/ws.yaml
kubectl apply -f $DEPLOYMENT_PATH/ws-adapter.yaml

Checking cluster status:

kubectl get pods
kubectl get svc
PreviousStandaloneNextFAQ

Last updated 8 months ago

Was this helpful?