Deployment of Distributed IoT Applications in Fog Computing
This content explores the deployment of distributed IoT applications in fog computing using Kubernetes container orchestration system. It covers topics such as fog computing model, fog network, microservice architecture, IoT application placement strategies, and container orchestration in Kubernetes. The content emphasizes the usability of Kubernetes in fog computing environments with real devices, demonstrating the industrial feasibility and practicality of managing containerized IoT applications efficiently.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Kubernetes: Towards Deployment of Distributed IoT Applications in Fog Computing Paridhika Kayal University of Toronto
Agenda Fog Computing Model. Kubernetes Container Orchestration System. Usability of Kubernetes in the Fog computing environment consisting of real devices. Demonstration shows the industrial feasibility and practicality of deploying and managing containerized IoT applications.
Fog Network Fog nodes computational, networking, storage and acceleration devices. Fog network communication network established between resource-constraint fog nodes. Fog nodes cooperate with forwarding data.
Microservice Architecture Fog applications are a collection of independent, loosely coupled modular services (microservices). Microservice is a lightweight portable runtime environment (container). Chaining degree - degree of communication between microservices. 3 C35 C23 C12 1 2 5 C45 C24 4
IoT Application Placement Strategy 1: Placing maximal communicating microservices on a single fog node Keeps chaining costs low high utilization at some fog nodes Limited resources of a fog node may not fit entire application.
IoT Application Placement Strategy 2: Splitting microservices over the fog network. Load balanced system Leads to network delay Fog Node 2 Network delay 2 C23 d24 C12 d12 Distribution and Management of IoT applications: Need for efficient orchestration tool C24 (d24 + d34) 3 1 5 C45 d34 Fog Node 4 Fog Node 1 4 Fog Node 3
Kubernetes: Components Pod collection of one or more containers. Master-slave architecture Worker 1 apiVersion: v1 kind: pod metadata: name: video-demo-sender labels: purpose: demonstrate_streaming spec: containers: - name: sender-demo-container image: paridhika/testimages:video-sender ports: - name: video containerPort: 3000 protocol: TCP Master Controller API server Scheduler Worker 2 Worker 3 docker image
Application Deployment in Cloud Master Etcd kubectl commands watch unscheduled pods write kubectl f create pod.yaml API server Scheduler bind pod to node update pod status watch bound pods IoT application docker run Kubelet Docker pod Worker
Implementation Details Hardware PC (Intel x86 architecture) - Kubernetes master node Four raspberry pi 3 (32-bit arm architecture) - Worker nodes Software Operating System - Ubuntu 18.04 LTS Kubernetes v1.17.3 Docker-engine v19.03.6 WeaveNet CNI Plugin - Overlay tunneling nodeJS application (node v13.5.0) Motion software Webcam streaming from Master Node Docker Buildx CLI plugin Building multi-platform docker images
Deployment using Kubernetes Fog Node 2 192.168.1.102 Pod 1 10.1.1.2 3 Fog Node 1 192.168.1.101 5 2 1 4 Fog Node 3 192.168.1.103 Fog Node 4 192.168.1.104
Deployment using Kubernetes Fog Node 2 Pod 2 10.1.2.2 192.168.1.102 2 Pod 4 10.1.4.2 Pod 1 10.1.1.2 3 1 5 Pod 3 10.1.3.2 Fog Node 4 192.168.1.104 Fog Node 1 192.168.1.101 4 Fog Node 3 192.168.1.103
Kubernetes: Networking 192.168.1.102 Fog Node 2 Container-to-container communication Containers inside a pod communicate on localhost. 2 Pod-to-pod communication Containers on two different hosts communicate via overlay network. Managed by CNI (Container Network Interface) plugin (WeaveNet). Overlay tunnel tun0 Routing table: Default via 192.168.1.1 10.1.0.0/16 via tun0 5 3 Fog Node 4 192.168.1.104
Conclusion Applicability of Kubernetes in fog computing. Functionality of IoT application remains unaffected. Time lag in the video is observed when application is distributed.
Thank You Thank You