Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Asterisk as a Virtual Network Function Part 4

386 views

Published on

AstriCon 2017 Presentation. Workshop discussing NFV and using Asterisk as a VNF (Virtual Network Function)

Published in: Technology
  • Be the first to comment

Asterisk as a Virtual Network Function Part 4

  1. 1. For Astricon 2017 Leif Madsen & Doug Smith Red Hat, Inc. VNF-Asterisk, Deploying The Applications
  2. 2. 2 10:45 - Intro to NFV & VNF-Asterisk 11:30 - A VNF-Asterisk Demo 1:45 - Infrastructure Deployment 2:30 - Application Deployment TODAY’S AGENDA
  3. 3. INSERT DESIGNATOR, IF NEEDED3 The container images Kubernetes Resource Definitions TroubleshootingRun the deployment WHAT SHALL WE LOOK AT? The pieces involved in deploying the VNF-Asterisk applications themselves.
  4. 4. THE DOCKER IMAGES
  5. 5. INSERT DESIGNATOR, IF NEEDED5 dougbtv/docker-asterisk DOCKER-ASTERISK sipcapture/homer-docker HOMER-DOCKER WHERE ARE THE DOCKERFILES? The Dockerfiles are on Github, of course! And the images on Dockerhub. VNF-ASTERISK-CONTROLLER dougbtv/vnf-asterisk-controller *
  6. 6. INSERT DESIGNATOR, IF NEEDED6 DISSECTING A DOCKERFILE Each instruction results in an image layer FROM: A base image RUN: Commands ENV: Environment vars
  7. 7. INSERT DESIGNATOR, IF NEEDED7 THE OPEN CONTAINER INITIATIVE Docker isn’t the only way.
  8. 8. THE KUBERNETES RESOURCE DEFINITIONS
  9. 9. 9 In Kubernetes pods live together with the namespaces of an “infra-container” which shares their network & volume mounts, and more. WHAT’S A POD? Pods are logically grouped containers and scale together in deployments. Pod Asterisk (VoIP) Capture Agent (packet sniffer) Network Volumes ... container container
  10. 10. 10 INSIDE A POD SPEC... It’s really just YAML that specifies how to run a pod. kind: The type of specification image: Which image to run volumeMounts: storage to mount configMap: configurations to mount
  11. 11. 11 DEPLOYMENTS AND REPLICAS Deployment controllers provide updates to ReplicaSets and Pods Pod-1 Asterisk (VoIP) Capture Agent container container Replica Set Replicas: 2 Pod-2 Asterisk (VoIP) Capture Agent container container 2 instances of Asterisk, please. Deployment: Asterisk
  12. 12. 12 INSIDE A DEPLOYMENT DEFINITION It abstracts a replication controller & pod specs so you can scale it. kind: It’s a deployment replicas: Number of instances template: What to replicate spec: The whole pod spec (as before)
  13. 13. 13 CONFIGMAPS How to pack (primarily) static configuration files (or environment vars, and more) into pods. kind: A config map. data: A dictionary of configs These are config files packed into the yaml file! Here’s some friendly ones you know and love (like pjsip.conf and cdr.conf)
  14. 14. DEMO TIME!
  15. 15. TROUBLESHOOTING
  16. 16. BONUS! TAKE THE HIGH ROAD
  17. 17. 17 DO YOU LIKE THE EASY WAY OUT? You can also run VNF-Asterisk solely with Docker-Compose! $ dnf install -y docker-compose $ git clone https://github.com/dougbtv/docker-asterisk.git $ docker-compose build $ docker-compose up
  18. 18. 18 {intentionally blank}
  19. 19. 19
  20. 20. 20 VNF-Asterisk is a VNF utilizing Asterisk (an Open Source telephony framework) and intended to be used for validating environments, and exploring topics such as: ● VNFs in COEs (Kubernetes / Openshift) ● Container Networking ● Scale ● High Availability ● And more. SO, WHAT IS VNF-ASTERISK? A demo VNF in Kubernetes that YOU can try out! redhat-nfvpe/vnf-asterisk

×