Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
IoTっぽいアプリをk3s+Raspberry Piで実行する
Search
taiko19xx
April 26, 2019
Technology
0
320
IoTっぽいアプリをk3s+Raspberry Piで実行する
2019/04/26のCloud Native Sendai #1で発表した資料です
taiko19xx
April 26, 2019
Tweet
Share
More Decks by taiko19xx
See All by taiko19xx
Bedrockで遊ぼう! 短期間で色々開発してみた
taiko19xx
1
120
Incident Managerでインシデント発生時のエスカレーションを自動化する
taiko19xx
0
220
LambdaカスタムランタイムでPHPでもサーバーレス!
taiko19xx
0
75
ハニーポットから見たWebサーバへの攻撃
taiko19xx
0
2.8k
PHPなプロダクトをAmazon ECSで開発運用してる話
taiko19xx
0
1.2k
RaspberryPi+AWSでIoT(っぽ い)GPSロガーを作ってみた
taiko19xx
0
1.5k
PHPからWin32APIをいじってみた
taiko19xx
0
1.7k
Other Decks in Technology
See All in Technology
古き良き Laravel のシステムは関数型スタイルでリファクタできるのか
leveragestech
1
640
Would you THINK such a demonstration interesting ?
shumpei3
1
160
食べログが挑む!飲食店ネット予約システムで自動テスト無双して手動テストゼロを実現する戦略
hagevvashi
1
160
Ops-JAWS_Organizations小ネタ3選.pdf
chunkof
2
120
OSSコントリビュートをphp-srcメンテナの立場から語る / OSS Contribute
sakitakamachi
0
1.3k
DETR手法の変遷と最新動向(CVPR2025)
tenten0727
2
1.1k
DuckDB MCPサーバーを使ってAWSコストを分析させてみた / AWS cost analysis with DuckDB MCP server
masahirokawahara
0
790
Lakeflow Connectのご紹介
databricksjapan
0
100
ウォンテッドリーにおける Platform Engineering
bgpat
0
190
Webアプリを Lambdaで動かすまでに考えること / How to implement monolithic Lambda Web Application
_kensh
7
1.2k
こんなデータマートは嫌だ。どんな? / waiwai-data-meetup-202504
shuntak
6
1.7k
改めて学ぶ Trait の使い方 / phpcon odawara 2025
meihei3
1
570
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
69
4.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Agile that works and the tools we love
rasmusluckow
328
21k
Thoughts on Productivity
jonyablonski
69
4.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Why Our Code Smells
bkeepers
PRO
336
57k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
9
740
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
Transcript
IoT”っぽい”アプリを k3s+Raspberry Piで実行する Cloud Native Sendai #01@2019/04/26 @taiko19xx / 木村
俊彦
自己紹介 • 木村俊彦(@taiko19xx) • 主にAzure/AWSの設計構築 • PHP/Node.jsでのバックエンド構築も • 技術系同人誌サークル「杜の都の開発室」主宰 •
https://morinomiyakono.booth.pm/ • 「技術書典」というイベントで本を出しています
None
いつものように Raspberry Piで遊んでいた ある日のこと…
ある日のこと • Raspberry PiでDockerは動く • Kubernetesは動くのか? • 実用的かは別 • 動いたとしてもRaspberry
Piには重荷と予想
None
None
ある日のこと • Kubernetesも思っていた以上の低負荷で動かせる事が判明 • コンテナ動かすだけであれば簡単にできる • せっかくなのでRaspberry Piらしい何かをしたい
“GPIO”にアクセスして “Lチカ”させられないか?
What is GPIO/Lチカ • GPIO = General-purpose input/output • 汎用入出力のこと
• Raspberry Piに沢山ついている”ピン” • Lチカ = LEDチカチカ • LEDを点滅させること • 電子工作の第一歩として有名
KubernetesのPodから 物理デバイスにアクセスする 必要がある
実現するための唯一にして 最大のハードル
本当に可能か?
今回の実験環境 • Raspberry Pi 3B • Raspbian Stretch • k3s
v0.4.0 • Kubernetes v1.14.1-k3s.4 • Docker v18.09.0 • 比較用 • k3sにcontainerdが含まれているので、Docker自体は不要
Docker単体ではどうか? • 可能 • $ docker run -it --rm --device
/dev/gpiomem raspbian/stretch /bin/bash • --device /dev/gpiomem でGPIOが割り当てられてるメモリ領域 へのアクセスを可能にする
None
None
しかしKubernetesには --device相当のオプションが ない
None
None
行けるかと思ったが ダメだった…
最終手段、Privileged • 特権モードを有効にしてホストのデバイスの操作ができる • https://kubernetes.io/docs/concepts/workloads/pods/pod/#priv ileged-mode-for-pod-containers • Kubernetesでは1.11以降でサポート • Dockerにもある(--privileged)
• 全デバイスにアクセスできるので諸刃の剣
None
Lチカのデモ
Kubernetes on Raspberry Piは 実用的か?
正直(まだ)実用的ではない
実用的ではない理由 • 利用できるコンテナが少ない • Raspberry PiはARM(armhf/arm64)アーキテクチャ • 既存のコンテナ(x86_64)が利用できない • 種類がない訳ではない
• カスタマイズする場合のビルドも大変 • Raspberry Pi(もしくは他のARMデバイス)上でビルドする • もしくはクロスプラットフォームビルドを行う必要がある • まだまだ重い • K3sを使えば大分軽くはなるが…
Kubernetesを使うことによる良い面 • 使い慣れたkubectlでデプロイや操作ができる • ビルド問題が解決できている前提 • 管理に利用するツールが一括で済む • SSHで接続してログやサービスの状態を確認する手間が減る •
Podが落ちても自動でリトライしてくれる • スタンドアロンで動作させる時は便利 • IoT機器は基本スタンドアロン
結論 • 何とか物理アクセスは可能 • 1GBしかメモリを積んでいない環境ではまだまだ重荷 • KubernetesやK3sのこれからに期待 • Raspberry Piのような制限のある環境で試行錯誤するのは楽しい
• 休み中のコンテナ入門にいかがでしょうか • 頑張ればクラスタも組めます
ありがとうございました