SlideShare a Scribd company logo
Implementing Lightweight
Kubernetes(K3s) on Raspberry Pi Stack
3 Aug 2019
Docker Bangalore
Meetup #45 -
Docker,
Kubernetes & IoT
$Whoami
Sangam Biradar
Github-sangam14
Twitter-BiradarSangam
$curl engineitops.icu
- My Personal Blog Website
- Over 100+ blog post on docker | Golang and kubernetes and
cloud
- Unique 10000+ hits
- Research Papers Presented/Published in the Conference
Proceedings(IEEE)
1.“Build Minimal Docker Container Using Golang’’- presented
and published in the proceedings of the International
Conference ICICCS2018 at Vaigai College Of Engineering,
Madurai 14 June 18
Agenda
- Why the IoT needs Kubernetes?
- Introducing k3s
- How k3s works
- What is k3sos?
- Demo
- Questions?
Why the IoT Needs Kubernetes?
- Enabling DevOps for IoT.
- Scalability
- High availability
- Efficient use of cloud resources
- Deployment to the IoT edge
Introducing k3s
• Lightweight certified Kubernetes distro
• Built for production operations
• 40MB binary, 250MB memory consumption
• Single process w/ integrated Kubernetes
master, Kubelet, and containerd
• SQLite in addition to etcd
• Simultaneously released for x86_64, ARM64,
and ARMv7
• Open source project, not yet a Rancher
product
To build k3s removed unnecessary
code and made a few enhancements
How k3s works
Process
– Server
• Standup k3s as server
on raspberry pi
• Get node-token for
agents
– Agents
• Install binary (just
because – can be done
with scripted version
also)
• View resource utilization
• Connect agent to server
What is k3sos
The Kubernetes Operating System
k3OS is purpose-built to simplify Kubernetes
operations in low-resource computing
environments. Installs fast. Boots faster.
Managed through Kubernetes.
Why Should You Use k3OS?
1.First...
It’s GREAT For EDGE, IoT, CI, And ARM
You get ALL the benefits of using k3s, the optimized, simplified, and streamlined Kubernetes distribution.
2. Fast...
Fast Installation
You can boot up with k3s available in under 10 seconds, with fast cluster scaling
3. Easy...
Easy Configuration Via Cloud-Init
You can turn a standard k3OS image into a configured system during boot time.
4. Simple...
Manage The OS From Within Kubernetes
You don’t need to log into remote nodes. k3OS simplifies installation and upgrading.
Demo
1.Enable SSH to perform remote login
2.Enable container features in Kernel
Edit /boot/cmdline.txt on both the Raspberry Pi node
root@raspberrypi:~# echo "cgroup_enable=cpuset cgroup_memory=1
cgroup_enable=memory" >>/boot/cmdline.txt
3. Installing K3s
root@raspberrypi:~# curl -sfL https://get.k3s.io | sh –
4.Listing K3s Nodes
# k3s kubectl get node -o wide
5.# k3s kubectl get po,svc,deploy
6.Running Nginx Pods
root@raspberrypi:~# k3s kubectl run mynginx --image=nginx --
replicas=3 --port=80
7.Listing the Nginx Pods
# k3s kubectl get po
8.Exposing the Deployment
# k3s kubectl expose deployment mynginx --port 80
9. Verifying the endpoints controller for Pods
# k3s kubectl get endpoints mynginx
10. Testing Nginx application
# curl 10.42.0.10:80
root@raspberrypi:~# cat /var/lib/rancher/k3s/server/node-token
K108b8e370b380bea…….
11.Adding a new Node to K3s Cluster
12.Creating variable
# NODETOKEN=K108b8e370b380bea…….
root@pi-node1:~# k3s agent --server https://192.168.43.134:6443 --token
${NODETOKEN}
13. # k3s kubectl get nodes
root@raspberrypi:~# k3s kubectl run mynginx --
image=nginx --replicas=3 --port=80
14 .Setting up Nginx
15. Verifying the endpoints controller for Pods
# k3s kubectl get endpoints mynginx
16.Delete all pods
# kubectl delete --all pods
Questions?
k3s.io
Thanks

More Related Content

What's hot (20)

PDF
Intégration continue et déploiement continue avec Jenkins
Kokou Gaglo
 
PDF
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
Edureka!
 
PPT
Présentation Ionic Framework
Ndongo Samb
 
PPTX
Intro to NuGet
wlscaudill
 
PDF
CI/CD Pipeline as a Code using Jenkins 2
Mayank Patel
 
PPTX
Gitlab CI/CD
JEMLI Fathi
 
PPTX
Flutter
shreyash singh
 
PDF
Giới thiệu docker và ứng dụng trong ci-cd
GMO-Z.com Vietnam Lab Center
 
PDF
Semantic Versioning
Drupalize.Me
 
PDF
Formation autour de git et git lab
Abdelghani Azri
 
PDF
Devops | CICD Pipeline
Binish Siddiqui
 
PPTX
Bitrise: Make iOS Builds Faster - Tokyo 2019 March - Cookpad meetup
Viktor Benei
 
PDF
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Edureka!
 
PPTX
DevOps Overview in my own words
SUBHENDU KARMAKAR
 
PDF
DevOps avec Ansible et Docker
Stephane Manciot
 
PDF
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Phil Estes
 
PDF
Embedded Linux from Scratch to Yocto
Sherif Mousa
 
PPTX
Docker Basics
DuckDuckGo
 
PDF
容器與 Gitlab CI 應用
Philip Zheng
 
PDF
WPF開発での陥りやすい罠
Sho Okada
 
Intégration continue et déploiement continue avec Jenkins
Kokou Gaglo
 
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
Edureka!
 
Présentation Ionic Framework
Ndongo Samb
 
Intro to NuGet
wlscaudill
 
CI/CD Pipeline as a Code using Jenkins 2
Mayank Patel
 
Gitlab CI/CD
JEMLI Fathi
 
Giới thiệu docker và ứng dụng trong ci-cd
GMO-Z.com Vietnam Lab Center
 
Semantic Versioning
Drupalize.Me
 
Formation autour de git et git lab
Abdelghani Azri
 
Devops | CICD Pipeline
Binish Siddiqui
 
Bitrise: Make iOS Builds Faster - Tokyo 2019 March - Cookpad meetup
Viktor Benei
 
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Edureka!
 
DevOps Overview in my own words
SUBHENDU KARMAKAR
 
DevOps avec Ansible et Docker
Stephane Manciot
 
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Phil Estes
 
Embedded Linux from Scratch to Yocto
Sherif Mousa
 
Docker Basics
DuckDuckGo
 
容器與 Gitlab CI 應用
Philip Zheng
 
WPF開発での陥りやすい罠
Sho Okada
 

Similar to Implementing Lightweight Kubernetes(K3s) on Raspberry Pi Stack - Sangam Biradar (20)

PDF
Rabncher Meetup India , Lightweight Kubernetes Development with K3s, k3os and...
sangam biradar
 
PPTX
Kubernetes from the ground up
Sander Knape
 
PPTX
Kubernetes Introduction
Eric Gustafson
 
PDF
ProxySQL on Kubernetes
René Cannaò
 
PDF
Kubernetes: https://youtu.be/KnjnQj-FvfQ
Rahul Malhotra
 
PDF
Kubernetes deployment on bare metal with container linux
macchiang
 
PPTX
Oscon 2017: Build your own container-based system with the Moby project
Patrick Chanezon
 
PDF
Best Practices with Azure Kubernetes Services
QAware GmbH
 
PPTX
5 Painless Demos to Get You Started with Kubernetes
Amartus
 
PDF
Introducing Pico - A Deep Learning Platform using Docker & IoT - Sangam Biradar
sangam biradar
 
PDF
Virtual Kubernetes Clusters on Amazon EKS
Jim Bugwadia
 
PDF
Kata containers workshop_openinfrasummit_denver_may2019
Hemanth Nakkina
 
PDF
20220406 - SDAN_Presentation1_SDANOverview.pdf
ssuser34f58c1
 
PPTX
IBM MQ in containers MQTC 2017
Robert Parker
 
PDF
Container security within Cisco Container Platform
Sanjeev Rampal
 
PDF
Kubernetes extensibility
Docker, Inc.
 
PDF
From dev to prod: Kubernetes on AWS (short ver.)
佑介 九岡
 
PDF
4. CNCF kubernetes Comparison of-existing-cni-plugins-for-kubernetes
Juraj Hantak
 
PDF
K8sfor dev parisoss-summit-microsoft-5-decembre-short
Gabriel Bechara
 
PDF
給 RD 的 Kubernetes 初體驗 (EKS version)
William Yeh
 
Rabncher Meetup India , Lightweight Kubernetes Development with K3s, k3os and...
sangam biradar
 
Kubernetes from the ground up
Sander Knape
 
Kubernetes Introduction
Eric Gustafson
 
ProxySQL on Kubernetes
René Cannaò
 
Kubernetes: https://youtu.be/KnjnQj-FvfQ
Rahul Malhotra
 
Kubernetes deployment on bare metal with container linux
macchiang
 
Oscon 2017: Build your own container-based system with the Moby project
Patrick Chanezon
 
Best Practices with Azure Kubernetes Services
QAware GmbH
 
5 Painless Demos to Get You Started with Kubernetes
Amartus
 
Introducing Pico - A Deep Learning Platform using Docker & IoT - Sangam Biradar
sangam biradar
 
Virtual Kubernetes Clusters on Amazon EKS
Jim Bugwadia
 
Kata containers workshop_openinfrasummit_denver_may2019
Hemanth Nakkina
 
20220406 - SDAN_Presentation1_SDANOverview.pdf
ssuser34f58c1
 
IBM MQ in containers MQTC 2017
Robert Parker
 
Container security within Cisco Container Platform
Sanjeev Rampal
 
Kubernetes extensibility
Docker, Inc.
 
From dev to prod: Kubernetes on AWS (short ver.)
佑介 九岡
 
4. CNCF kubernetes Comparison of-existing-cni-plugins-for-kubernetes
Juraj Hantak
 
K8sfor dev parisoss-summit-microsoft-5-decembre-short
Gabriel Bechara
 
給 RD 的 Kubernetes 初體驗 (EKS version)
William Yeh
 
Ad

More from sangam biradar (18)

PDF
Terrascan - Cloud Native Security Tool
sangam biradar
 
PDF
Dockerize Spago Self Contained ML & NLP Library & Deploy on Okteto Cloud Usin...
sangam biradar
 
PDF
XCloudLabs- AWS Overview
sangam biradar
 
PDF
Rustlabs Quick Start
sangam biradar
 
PDF
Okteto For Kubernetes Developer :- Container Camp 2020
sangam biradar
 
PDF
Happy Helming With Okteto
sangam biradar
 
PDF
5 cool ways to get started with Cloud Native Development ( with Okteto)
sangam biradar
 
PDF
Docker + Tenserflow + GOlang - Golang singapore Meetup
sangam biradar
 
PDF
kikstart journey of Golang with Hello world - Gopherlabs
sangam biradar
 
PDF
funcs, func expressions, closure, returning funcs, recursion, the stack -goph...
sangam biradar
 
PDF
Decision making - for loop , nested loop ,if-else statements , switch in goph...
sangam biradar
 
PDF
Types - slice, map, new, make, struct - Gopherlabs
sangam biradar
 
PPTX
Cloud Native Okteto Cloud
sangam biradar
 
PDF
Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...
sangam biradar
 
PDF
welcome to gopherlabs - why go (golang)?
sangam biradar
 
PDF
TensorFlow, Docker & GoLang - All for Image Rekognition Sangam Biradar(Engine...
sangam biradar
 
PDF
September 7, 2019 Cloud Native and Containerisation (Joint Meetup with Docke...
sangam biradar
 
PDF
Docker on IOT - Dockercon19 SFO Recap & Announcements, Bangalore
sangam biradar
 
Terrascan - Cloud Native Security Tool
sangam biradar
 
Dockerize Spago Self Contained ML & NLP Library & Deploy on Okteto Cloud Usin...
sangam biradar
 
XCloudLabs- AWS Overview
sangam biradar
 
Rustlabs Quick Start
sangam biradar
 
Okteto For Kubernetes Developer :- Container Camp 2020
sangam biradar
 
Happy Helming With Okteto
sangam biradar
 
5 cool ways to get started with Cloud Native Development ( with Okteto)
sangam biradar
 
Docker + Tenserflow + GOlang - Golang singapore Meetup
sangam biradar
 
kikstart journey of Golang with Hello world - Gopherlabs
sangam biradar
 
funcs, func expressions, closure, returning funcs, recursion, the stack -goph...
sangam biradar
 
Decision making - for loop , nested loop ,if-else statements , switch in goph...
sangam biradar
 
Types - slice, map, new, make, struct - Gopherlabs
sangam biradar
 
Cloud Native Okteto Cloud
sangam biradar
 
Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...
sangam biradar
 
welcome to gopherlabs - why go (golang)?
sangam biradar
 
TensorFlow, Docker & GoLang - All for Image Rekognition Sangam Biradar(Engine...
sangam biradar
 
September 7, 2019 Cloud Native and Containerisation (Joint Meetup with Docke...
sangam biradar
 
Docker on IOT - Dockercon19 SFO Recap & Announcements, Bangalore
sangam biradar
 
Ad

Recently uploaded (20)

PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
PPTX
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PDF
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
PPTX
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PPTX
Top Managed Service Providers in Los Angeles
Captain IT
 
PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Top Managed Service Providers in Los Angeles
Captain IT
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 

Implementing Lightweight Kubernetes(K3s) on Raspberry Pi Stack - Sangam Biradar

  • 1. Implementing Lightweight Kubernetes(K3s) on Raspberry Pi Stack 3 Aug 2019 Docker Bangalore Meetup #45 - Docker, Kubernetes & IoT
  • 2. $Whoami Sangam Biradar Github-sangam14 Twitter-BiradarSangam $curl engineitops.icu - My Personal Blog Website - Over 100+ blog post on docker | Golang and kubernetes and cloud - Unique 10000+ hits - Research Papers Presented/Published in the Conference Proceedings(IEEE) 1.“Build Minimal Docker Container Using Golang’’- presented and published in the proceedings of the International Conference ICICCS2018 at Vaigai College Of Engineering, Madurai 14 June 18
  • 3. Agenda - Why the IoT needs Kubernetes? - Introducing k3s - How k3s works - What is k3sos? - Demo - Questions?
  • 4. Why the IoT Needs Kubernetes? - Enabling DevOps for IoT. - Scalability - High availability - Efficient use of cloud resources - Deployment to the IoT edge
  • 5. Introducing k3s • Lightweight certified Kubernetes distro • Built for production operations • 40MB binary, 250MB memory consumption • Single process w/ integrated Kubernetes master, Kubelet, and containerd • SQLite in addition to etcd • Simultaneously released for x86_64, ARM64, and ARMv7 • Open source project, not yet a Rancher product
  • 6. To build k3s removed unnecessary code and made a few enhancements
  • 8. Process – Server • Standup k3s as server on raspberry pi • Get node-token for agents – Agents • Install binary (just because – can be done with scripted version also) • View resource utilization • Connect agent to server
  • 9. What is k3sos The Kubernetes Operating System k3OS is purpose-built to simplify Kubernetes operations in low-resource computing environments. Installs fast. Boots faster. Managed through Kubernetes.
  • 10. Why Should You Use k3OS? 1.First... It’s GREAT For EDGE, IoT, CI, And ARM You get ALL the benefits of using k3s, the optimized, simplified, and streamlined Kubernetes distribution. 2. Fast... Fast Installation You can boot up with k3s available in under 10 seconds, with fast cluster scaling 3. Easy... Easy Configuration Via Cloud-Init You can turn a standard k3OS image into a configured system during boot time. 4. Simple... Manage The OS From Within Kubernetes You don’t need to log into remote nodes. k3OS simplifies installation and upgrading.
  • 11. Demo
  • 12. 1.Enable SSH to perform remote login
  • 13. 2.Enable container features in Kernel Edit /boot/cmdline.txt on both the Raspberry Pi node root@raspberrypi:~# echo "cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory" >>/boot/cmdline.txt
  • 14. 3. Installing K3s root@raspberrypi:~# curl -sfL https://get.k3s.io | sh –
  • 15. 4.Listing K3s Nodes # k3s kubectl get node -o wide
  • 16. 5.# k3s kubectl get po,svc,deploy
  • 17. 6.Running Nginx Pods root@raspberrypi:~# k3s kubectl run mynginx --image=nginx -- replicas=3 --port=80
  • 18. 7.Listing the Nginx Pods # k3s kubectl get po
  • 19. 8.Exposing the Deployment # k3s kubectl expose deployment mynginx --port 80
  • 20. 9. Verifying the endpoints controller for Pods # k3s kubectl get endpoints mynginx 10. Testing Nginx application # curl 10.42.0.10:80
  • 21. root@raspberrypi:~# cat /var/lib/rancher/k3s/server/node-token K108b8e370b380bea……. 11.Adding a new Node to K3s Cluster 12.Creating variable # NODETOKEN=K108b8e370b380bea……. root@pi-node1:~# k3s agent --server https://192.168.43.134:6443 --token ${NODETOKEN}
  • 22. 13. # k3s kubectl get nodes
  • 23. root@raspberrypi:~# k3s kubectl run mynginx -- image=nginx --replicas=3 --port=80 14 .Setting up Nginx
  • 24. 15. Verifying the endpoints controller for Pods # k3s kubectl get endpoints mynginx 16.Delete all pods # kubectl delete --all pods