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
360
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
150
Incident Managerでインシデント発生時のエスカレーションを自動化する
taiko19xx
0
260
LambdaカスタムランタイムでPHPでもサーバーレス!
taiko19xx
0
81
ハニーポットから見た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
Webhook best practices for rock solid and resilient deployments
glaforge
1
250
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.5k
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.3k
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
570
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
11
4.5k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
42k
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1.3k
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
73k
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
0
310
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
280
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
320
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
2.5k
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
170
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
140
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
910
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
370
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
88
Raft: Consensus for Rubyists
vanstee
141
7.3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
150
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のような制限のある環境で試行錯誤するのは楽しい
• 休み中のコンテナ入門にいかがでしょうか • 頑張ればクラスタも組めます
ありがとうございました