resin.(io|os) - nico maas · resin.(io|os) nico maas docker & kubernetes meetup feb 2018...

26
RESIN.(IO|OS) RESIN.(IO|OS) NICO MAAS NICO MAAS DOCKER & KUBERNETES MEETUP FEB 2018 DOCKER & KUBERNETES MEETUP FEB 2018 20/02/2018 www.nico-maas.de 1 / 26

Upload: others

Post on 23-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

RESIN.(IO|OS)RESIN.(IO|OS)NICO MAASNICO MAAS

DOCKER & KUBERNETES MEETUP FEB 2018DOCKER & KUBERNETES MEETUP FEB 2018

20/02/2018 www.nico-maas.de 1 / 26

WHO AM I?WHO AM I?Nico MaasMaster of [email protected]@nmaas87

20/02/2018 www.nico-maas.de 2 / 26

OVERVIEWOVERVIEWIntroductionresin.ioresinOSbalena

20/02/2018 www.nico-maas.de 3 / 26

INTROINTROIoT Devices - in the net

Imagine: Your small Linux IoT Device.

20/02/2018 www.nico-maas.de 4 / 26

INTRO: DEFAULT LANINTRO: DEFAULT LAN

20/02/2018 www.nico-maas.de 5 / 26

INTRO: DEFAULT WANINTRO: DEFAULT WAN

20/02/2018 www.nico-maas.de 6 / 26

INTRO: COMPLEX WANINTRO: COMPLEX WAN

20/02/2018 www.nico-maas.de 7 / 26

INTRO: HOW TO UPDATE?INTRO: HOW TO UPDATE?VPN tunnelreverse sshwgetvia cronjob?Download of binaryblobCheckout from Git Repo...

20/02/2018 www.nico-maas.de 8 / 26

INTRO: PROBLEMS?INTRO: PROBLEMS?Router/Firewall blocks accessConnection dropsTransfer errorsUpdatescript is corrupted during self-updateUpdatescript contanis errors and does notconnectApp itself contains errors and blocks the device

20/02/2018 www.nico-maas.de 9 / 26

IoT| so ware deployment done right

20/02/2018 www.nico-maas.de 10 / 26

RESIN.IO: SYSTEM OVERVIEWRESIN.IO: SYSTEM OVERVIEW

20/02/2018 www.nico-maas.de 11 / 26

RESIN.IO: OS OVERVIEWRESIN.IO: OS OVERVIEW

20/02/2018 www.nico-maas.de 12 / 26

RESIN.IO: HANDS-ONRESIN.IO: HANDS-ONDemotime!

https://github.com/resin-io-playground/ChristmasLights

20/02/2018 www.nico-maas.de 13 / 26

Docker containers on embedded devices

20/02/2018 www.nico-maas.de 14 / 26

RESINOS: OS OVERVIEWRESINOS: OS OVERVIEW

20/02/2018 www.nico-maas.de 15 / 26

RESINOS: FS OVERVIEWRESINOS: FS OVERVIEW

20/02/2018 www.nico-maas.de 16 / 26

A Moby-based container engine for IoT

20/02/2018 www.nico-maas.de 17 / 26

OVERVIEWOVERVIEW3.5x smaller than Docker CE, single binaryMulti-arch support / IoT devicesBandwidth-efficient updates with binary diffs, 10-70x smaller than pulling layersMinimal wear-and-tear / extract layers at receive toprevent excessive writing to diskAtomic and durable image pulls defend againstpartial container pulls in the event of power failureConservative memory use

20/02/2018 www.nico-maas.de 18 / 26

COOL - AND WHAT ABOUT IT? ;)COOL - AND WHAT ABOUT IT? ;)Default container engine in resinOS and resin.io.

20/02/2018 www.nico-maas.de 19 / 26

IMAGE DELTAS?IMAGE DELTAS?balena image pull resin/raspberrypi3-node:6

balena image pull resin/raspberrypi3-node:7

balena image delta resin/raspberrypi3-node:6resin/raspberrypi3-node:7

balena image tag resin/raspberrypi3-node:delta-6-7

balena image push resin/raspberrypi3-node:delta-6-7

20/02/2018 www.nico-maas.de 20 / 26

OK, DONE...OK, DONE...And now?

20/02/2018 www.nico-maas.de 21 / 26

CLEANUP!CLEANUP!balena rmi -f resin/raspberrypi3-node:delta-6-7

resin/raspberrypi3-node:7

resin/raspberrypi3-node:6 stays on rpi :)

20/02/2018 www.nico-maas.de 22 / 26

DELTA UPGRADE!DELTA UPGRADE!balena image pull resin/raspberrypi3-node:delta-6-7

balena automatically upgrades the image

another pull of node:7 ...

balena image pull resin/raspberrypi3-node:7

won't download anything :)

20/02/2018 www.nico-maas.de 23 / 26

AVAILABLE ON...AVAILABLE ON...aarch64, armv5, armv6, arvm7...

and i386 as well as x86_64 :)

Install with curl -sfL | shhttps://balena.io/install.sh

20/02/2018 www.nico-maas.de 24 / 26

WRAP-UP TIMEWRAP-UP TIMEresin.ioresinOSbalena

20/02/2018 www.nico-maas.de 25 / 26

QUESTIONS?QUESTIONS?Thank you for your attention :)

www.resin.io www.resinos.io www.balena.io

www.nico-maas.de

20/02/2018 www.nico-maas.de 26 / 26