Jalapeno Installation
Warning
A Kubernetes installation is required to continue. If you don't have a running environment, please follow the steps here to get set up.
Installing Jalapeno
Tip
The Jalapeno installation script by default will pull a telemetry stack consisting of Telegraf, Influx, and Kafka images (the TIK stack). If you would like to integrate Jalapeno's BMP/Topology/GraphDB elements with an existing telemetry stack simply comment out the TIK stack elements in the shell script.
-
Clone the Jalapeno repo and
cd
into the folder:git clone https://github.com/cisco-open/jalapeno.git && cd jalapeno
-
Use the
deploy_jalapeno.sh
script. This will start the collectors, the Jalapeno infra images, and the topology and linkstate-edge processors../deploy_jalapeno.sh [path_to_kubectl]
Tip
If you're using a nonstandard kubectl, you need to pass the appropriate command to this script.
For example, with microk8s:
./deploy_jalapeno.sh microk8s.kubectl
Validation
Validate that all containers are started & running. Using: kubectl get all --all-namespaces
or on a per-namespace basis:
kubectl get all -n jalapeno
kubectl get all -n jalapeno-collectors
Expected Output for jalapeno
Namespace:
NAME READY STATUS RESTARTS AGE
pod/arangodb-0 1/1 Running 0 9d
pod/grafana-deployment-579c5f75bb-7g7bk 1/1 Running 0 9d
pod/influxdb-0 1/1 Running 0 9d
pod/kafka-0 1/1 Running 0 9d
pod/linkstate-edge-66fb9b8fb7-skmsc 1/1 Running 0 6d22h
pod/telegraf-egress-deployment-55cbff896c-vf26q 1/1 Running 3 9d
pod/topology-6fdd6ccc8b-6mcpc 1/1 Running 0 8d
pod/zookeeper-0 1/1 Running 0 9d
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/arango-np NodePort 10.152.183.143 <none> 8529:30852/TCP 9d
service/arangodb ClusterIP 10.152.183.142 <none> 8529/TCP 9d
service/broker ClusterIP 10.152.183.247 <none> 9092/TCP 9d
service/grafana ClusterIP 10.152.183.62 <none> 3000/TCP 9d
service/grafana-np NodePort 10.152.183.124 <none> 3000:30300/TCP 9d
service/influxdb ClusterIP 10.152.183.197 <none> 8086/TCP 9d
service/influxdb-np NodePort 10.152.183.68 <none> 8086:30308/TCP 9d
service/kafka NodePort 10.152.183.160 <none> 9094:30092/TCP 9d
service/zookeeper ClusterIP 10.152.183.36 <none> 2888/TCP,3888/TCP,2181/TCP 9d
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/grafana-deployment 1/1 1 1 9d
deployment.apps/linkstate-edge 1/1 1 1 6d22h
deployment.apps/telegraf-egress-deployment 1/1 1 1 9d
deployment.apps/topology 1/1 1 1 8d
NAME DESIRED CURRENT READY AGE
replicaset.apps/grafana-deployment-579c5f75bb 1 1 1 9d
replicaset.apps/linkstate-edge-66fb9b8fb7 1 1 1 6d22h
replicaset.apps/telegraf-egress-deployment-55cbff896c 1 1 1 9d
replicaset.apps/topology-6fdd6ccc8b 1 1 1 8d
NAME READY AGE
statefulset.apps/arangodb 1/1 9d
statefulset.apps/influxdb 1/1 9d
statefulset.apps/kafka 1/1 9d
statefulset.apps/zookeeper 1/1 9d
Expected Output for jalapeno-collectors
Namespace:
NAME READY STATUS RESTARTS AGE
pod/gobmp-f8bf8d6d5-nvwn8 1/1 Running 2 3m42s
pod/telegraf-ingress-deployment-56867cf9b4-62snv 1/1 Running 1 3m46s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/gobmp NodePort 10.97.107.27 <none> 5000:30511/TCP,56767:30767/TCP 3m43s
service/telegraf-ingress-np NodePort 10.97.218.162 <none> 57400:32400/TCP 3m46s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/gobmp 1/1 1 1 3m42s
deployment.apps/telegraf-ingress-deployment 1/1 1 1 3m46s
NAME DESIRED CURRENT READY AGE
replicaset.apps/gobmp-f8bf8d6d5 1 1 1 3m42s
replicaset.apps/telegraf-ingress-deployment-56867cf9b4 1 1 1 3m46s
Device Config
Configure routers in the network to stream telemetry and BMP data to the Jalapeno cluster.
Instructions can be found under the Device Config section.
Destroying Jalapeno
Jalapeno can also be destroyed using the script.
- Use the
destroy_jalapeno.sh
script. This will remove both namespacesjalapeno
andjalapeno-collectors
and all associated services/pods/deployments/etc. This will also remove all the persistent volumes associated with Kafka and Arangodb.
./destroy_jalapeno.sh kubectl