SlideShare a Scribd company logo
7
Most read
8
Most read
9
Most read
FreeSWITCH Cluster by
Kubernetes
Stanley Wu (吳建澄)
skyeyester@gmail.com
Mar. 3, 2017
Outline
● Overview
● Create a FreeSWITCH Cluster
● Deploy a FreeSWITCH App
● Explore Your FreeSWITCH App
● Expose Your FreeSWITCH App Publicly
● Scale Your FreeSWITCH App
● Update Your FreeSWITCH App
2
Overview
● Kubernetes is a production-grade, open-source platform that orchestrates the
placement (scheduling) and execution of application containers within and
across computer clusters.
● Minikube is a lightweight Kubernetes implementation that creates a VM on
your local machine and deploys a simple cluster containing only one node.
3
Create a FreeSWITCH Cluster
Using Minikube to Create a Cluster
● High Availability and Scalability
● FreeSWITCH Cluster
Starting Minikube via a single command: $ minikube start Host Machine
FreeSWITCH
(Minikube)
VM Driver
Host OS
4
Deploy a FreeSWITCH App
Using kubectl to Create a Deployment
● $ kubectl run freeswitch --image=freeswitch --port=80
5
Explore Your FreeSWITCH App
Viewing Pods and Nodes
● $ kubectl get pod
● $ kubectl get pods --all-namespaces
6
Expose Your FreeSWITCH App Publicly
Using a Service to Expose Your App
● Create service
○ $ kubectl expose deployment freeswitch --type=NodePort
● Open service
○ $ minikube service freeswitch
● Check Deployment
○ $ kubectl get deployment
7
Scale Your FreeSWITCH App
Running Multiple Instances of Your FreeSWITCH App
● kubectl create -f freeswitch.yml
● kubectl scale deployment freeswitch --replicas=4
8
Update Your FreeSWITCH App
Rolling updates allows Deployments to occur with zero downtime by incrementally
updating Pods instances with new ones.
├─ Deployment: <name>
│ └─ Replica Set: <name>-<rs>
│ └─ Pod: <name>-<rs>-<randomString>
● Get replica set
○ $ kubectl get rs
● Check Status
○ $ kubectl rollout status deployment nginx
○ $ kubectl rollout history deployment/nginx 9
Reference
1. Kubernetes Tutorials (https://kubernetes.io/docs/tutorials/)
2. FreeSWITCH (https://www.freeswitch.org/)
10

More Related Content

What's hot (20)

PPTX
Java App On Digital Ocean: Deploying With Gitlab CI/CD
Seun Matt
 
PPTX
Introduction to ansible
Omid Vahdaty
 
PDF
Ansible - Introduction
Stephane Manciot
 
PPTX
FreeSWITCH as a Kickass SBC
Moises Silva
 
PDF
Service Mesh on Kubernetes with Istio
Michelle Holley
 
PPTX
Docker Kubernetes Istio
Araf Karsh Hamid
 
PPTX
Linux 802.11 subsystem and brcmsmac WLAN driver
Midhun Lohidakshan
 
PDF
Docker containers : introduction
rinnocente
 
PDF
IBM DataPower Gateway - Common Use Cases
IBM DataPower Gateway
 
PPTX
GitLab.pptx
LeoulZewelde1
 
PDF
FreeSWITCH on Docker
Chien Cheng Wu
 
PDF
DevOps Meetup ansible
sriram_rajan
 
PDF
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
Alphorm
 
PDF
Protocole OSPF
Thomas Moegli
 
PPTX
Kubernetes PPT.pptx
ssuser0cc9131
 
PDF
Alphorm.com Formation CCNP ENCOR 350-401 (1of8) : Commutation
Alphorm
 
PDF
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
Edureka!
 
PPTX
Introduction to CI/CD
Steve Mactaggart
 
PDF
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
OpenStack Korea Community
 
Java App On Digital Ocean: Deploying With Gitlab CI/CD
Seun Matt
 
Introduction to ansible
Omid Vahdaty
 
Ansible - Introduction
Stephane Manciot
 
FreeSWITCH as a Kickass SBC
Moises Silva
 
Service Mesh on Kubernetes with Istio
Michelle Holley
 
Docker Kubernetes Istio
Araf Karsh Hamid
 
Linux 802.11 subsystem and brcmsmac WLAN driver
Midhun Lohidakshan
 
Docker containers : introduction
rinnocente
 
IBM DataPower Gateway - Common Use Cases
IBM DataPower Gateway
 
GitLab.pptx
LeoulZewelde1
 
FreeSWITCH on Docker
Chien Cheng Wu
 
DevOps Meetup ansible
sriram_rajan
 
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
Alphorm
 
Protocole OSPF
Thomas Moegli
 
Kubernetes PPT.pptx
ssuser0cc9131
 
Alphorm.com Formation CCNP ENCOR 350-401 (1of8) : Commutation
Alphorm
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
Edureka!
 
Introduction to CI/CD
Steve Mactaggart
 
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
OpenStack Korea Community
 

Similar to FreeSWITCH Cluster by K8s (20)

PDF
Getting started with kubernetes
Janakiram MSV
 
PPTX
Getting_Started_with_KinD_Creating_a_Multi_node_Local_Kubernetes_Cluster.pptx
PihuB
 
PDF
Install a micro k8s single node cluster of kubernetes on windows 10
Lợi Dương
 
PDF
The path to a serverless-native era with Kubernetes
sparkfabrik
 
PDF
Nugwc k8s session-16-march-2021
Avanti Patil
 
PPTX
Kubernetes
Lhouceine OUHAMZA
 
PPTX
5 Painless Demos to Get You Started with Kubernetes
Amartus
 
PDF
Run K8s on Local Environment
Ganesh Pol
 
PPTX
KUBEBOOT - SPRING BOOT DEPLOYMENT ON KUBERNETES HAS NEVER BEEN SO EASY
Red Hat Developers
 
PPTX
KubeOne
loodse
 
PDF
Microservices in Java
Anatole Tresch
 
PDF
Building Cloud-Native Applications with Kubernetes, Helm and Kubeless
Bitnami
 
PDF
Scalable Spark deployment using Kubernetes
datamantra
 
PPTX
KuberneteSADASDSADASDASDASDASDASDAs Labs.pptx
MuhamedAhmed35
 
PPTX
Introduction to Jenkins X
Faithlin Paul
 
PDF
Gdg izmir kubernetes
Gokhan Boranalp
 
PPTX
kubernetes_Ajhhhhhhhghhbggggygghghhhghhh.pptx
1967DarshanGaragatti
 
PPTX
Kubernetes - Using Persistent Disks with WordPress and MySQL
pratik rathod
 
PDF
Kubernetes Introduction
Peng Xiao
 
PPTX
K8s in 3h - Kubernetes Fundamentals Training
Piotr Perzyna
 
Getting started with kubernetes
Janakiram MSV
 
Getting_Started_with_KinD_Creating_a_Multi_node_Local_Kubernetes_Cluster.pptx
PihuB
 
Install a micro k8s single node cluster of kubernetes on windows 10
Lợi Dương
 
The path to a serverless-native era with Kubernetes
sparkfabrik
 
Nugwc k8s session-16-march-2021
Avanti Patil
 
Kubernetes
Lhouceine OUHAMZA
 
5 Painless Demos to Get You Started with Kubernetes
Amartus
 
Run K8s on Local Environment
Ganesh Pol
 
KUBEBOOT - SPRING BOOT DEPLOYMENT ON KUBERNETES HAS NEVER BEEN SO EASY
Red Hat Developers
 
KubeOne
loodse
 
Microservices in Java
Anatole Tresch
 
Building Cloud-Native Applications with Kubernetes, Helm and Kubeless
Bitnami
 
Scalable Spark deployment using Kubernetes
datamantra
 
KuberneteSADASDSADASDASDASDASDASDAs Labs.pptx
MuhamedAhmed35
 
Introduction to Jenkins X
Faithlin Paul
 
Gdg izmir kubernetes
Gokhan Boranalp
 
kubernetes_Ajhhhhhhhghhbggggygghghhhghhh.pptx
1967DarshanGaragatti
 
Kubernetes - Using Persistent Disks with WordPress and MySQL
pratik rathod
 
Kubernetes Introduction
Peng Xiao
 
K8s in 3h - Kubernetes Fundamentals Training
Piotr Perzyna
 
Ad

Recently uploaded (20)

PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PPTX
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PDF
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
PDF
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
Ad

FreeSWITCH Cluster by K8s

  • 2. Outline ● Overview ● Create a FreeSWITCH Cluster ● Deploy a FreeSWITCH App ● Explore Your FreeSWITCH App ● Expose Your FreeSWITCH App Publicly ● Scale Your FreeSWITCH App ● Update Your FreeSWITCH App 2
  • 3. Overview ● Kubernetes is a production-grade, open-source platform that orchestrates the placement (scheduling) and execution of application containers within and across computer clusters. ● Minikube is a lightweight Kubernetes implementation that creates a VM on your local machine and deploys a simple cluster containing only one node. 3
  • 4. Create a FreeSWITCH Cluster Using Minikube to Create a Cluster ● High Availability and Scalability ● FreeSWITCH Cluster Starting Minikube via a single command: $ minikube start Host Machine FreeSWITCH (Minikube) VM Driver Host OS 4
  • 5. Deploy a FreeSWITCH App Using kubectl to Create a Deployment ● $ kubectl run freeswitch --image=freeswitch --port=80 5
  • 6. Explore Your FreeSWITCH App Viewing Pods and Nodes ● $ kubectl get pod ● $ kubectl get pods --all-namespaces 6
  • 7. Expose Your FreeSWITCH App Publicly Using a Service to Expose Your App ● Create service ○ $ kubectl expose deployment freeswitch --type=NodePort ● Open service ○ $ minikube service freeswitch ● Check Deployment ○ $ kubectl get deployment 7
  • 8. Scale Your FreeSWITCH App Running Multiple Instances of Your FreeSWITCH App ● kubectl create -f freeswitch.yml ● kubectl scale deployment freeswitch --replicas=4 8
  • 9. Update Your FreeSWITCH App Rolling updates allows Deployments to occur with zero downtime by incrementally updating Pods instances with new ones. ├─ Deployment: <name> │ └─ Replica Set: <name>-<rs> │ └─ Pod: <name>-<rs>-<randomString> ● Get replica set ○ $ kubectl get rs ● Check Status ○ $ kubectl rollout status deployment nginx ○ $ kubectl rollout history deployment/nginx 9
  • 10. Reference 1. Kubernetes Tutorials (https://kubernetes.io/docs/tutorials/) 2. FreeSWITCH (https://www.freeswitch.org/) 10