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
340
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
140
Incident Managerでインシデント発生時のエスカレーションを自動化する
taiko19xx
0
250
LambdaカスタムランタイムでPHPでもサーバーレス!
taiko19xx
0
79
ハニーポットから見たWebサーバへの攻撃
taiko19xx
0
2.9k
PHPなプロダクトをAmazon ECSで開発運用してる話
taiko19xx
0
1.3k
RaspberryPi+AWSでIoT(っぽ い)GPSロガーを作ってみた
taiko19xx
0
1.6k
PHPからWin32APIをいじってみた
taiko19xx
0
1.7k
Other Decks in Technology
See All in Technology
GPUをつかってベクトル検索を扱う手法のお話し~NVIDIA cuVSとCAGRA~
fshuhe
0
350
LLM APIを2年間本番運用して苦労した話
ivry_presentationmaterials
1
190
Kotlinで型安全にバイテンポラルデータを扱いたい! ReladomoラッパーをAIと実装してみた話
itohiro73
3
140
プロファイルとAIエージェントによる効率的なデバッグ / Effective debugging with profiler and AI assistant
ymotongpoo
1
720
20251027_findyさん_音声エージェントLT
almondo_event
2
530
AIがコードを書いてくれるなら、新米エンジニアは何をする? / komekaigi2025
nkzn
24
16k
20251102 WordCamp Kansai 2025
chiilog
0
460
re:Inventに行くまでにやっておきたいこと
nagisa53
0
940
AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド
zozotech
PRO
2
260
Mackerelにおけるインシデント対応とポストモーテム - 現場での工夫と学び
taxin
0
100
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
4
950
実践マルチモーダル検索!
shibuiwilliam
3
520
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.8k
Facilitating Awesome Meetings
lara
57
6.6k
How to Think Like a Performance Engineer
csswizardry
27
2.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Code Reviewing Like a Champion
maltzj
526
40k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Faster Mobile Websites
deanohume
310
31k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
What's in a price? How to price your products and services
michaelherold
246
12k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
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のような制限のある環境で試行錯誤するのは楽しい
• 休み中のコンテナ入門にいかがでしょうか • 頑張ればクラスタも組めます
ありがとうございました