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
k3sで作ったクラスタからPCのカメラをさわってみる
Search
Ryoma Fujiwara
January 16, 2020
Programming
1
1.9k
k3sで作ったクラスタからPCのカメラをさわってみる
Docker Meetup Tokyo #34のLT資料です。
Ryoma Fujiwara
January 16, 2020
Tweet
Share
More Decks by Ryoma Fujiwara
See All by Ryoma Fujiwara
時間軸から考えるTerraformを使う理由と留意点
fufuhu
16
5.6k
Rancher と Terraform
fufuhu
2
660
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
1.1k
偶発性を好奇心で味方にする
fufuhu
2
820
Harvesterという選択肢 (RancherJP Online Meetup #05)
fufuhu
1
230
個人検証アカウントの管理どんな感じでやってますか_JAWSUGランチ共有会発表資料
fufuhu
3
1.1k
AWS OrganizationsとIAM Identity Center, Terraformを連携した権限管理
fufuhu
5
11k
過去のセキュリティ系セッション振り返り
fufuhu
2
590
heyにおけるCI/CDの現状と課題
fufuhu
3
1.2k
Other Decks in Programming
See All in Programming
flutter_kaigi_2025.pdf
kyoheig3
1
310
AI 時代だからこそ抑えたい「価値のある」PHP ユニットテストを書く技術 #phpconfuk / phpcon-fukuoka-2025
shogogg
1
430
Module Harmony
petamoriken
1
270
Private APIの呼び出し方
kishikawakatsumi
3
870
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
4
1.3k
Verilator + Rust + gRPC と Efinix の RISC-V でAIアクセラレータをAIで作ってる話 RTLを語る会(18) 2025/11/08
ryuz88
0
360
GraalVM Native Image トラブルシューティング機能の最新状況(2025年版)
ntt_dsol_java
0
130
知られているようで知られていない JavaScriptの仕様 4選
syumai
0
590
OSS開発者の憂鬱
yusukebe
12
4k
Stay Hacker 〜九州で生まれ、Perlに出会い、コミュニティで育つ〜
pyama86
1
1.4k
r2-image-worker
yusukebe
1
170
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
400
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.6k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Music & Morning Musume
bryan
46
6.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
670
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Balancing Empowerment & Direction
lara
5
750
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8k
Scaling GitHub
holman
463
140k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Transcript
© 2020, Ryoma Fujiwara, All Rights Reserved k3sで作ったクラスタ作ったクラスタかったクラスタからクラスタからから PCのカメラを触ってカメラを触ってみる触ってみるってみる Tea
pod418 藤原涼馬
© 2020 Ryoma Fujiwara, All rights reserved 自己紹介 • 藤原
涼馬(@RYoMa_0RYoMa_0923) – インフラエンジニア@RYoMa_0東京駅近辺 & フリーランスエンジニア・コンサルタからント(Tea pod 418) – 職歴 • ユーザ系系SIer R&D (2011年4月~2015年12月) • インフラエンジニア@RYoMa_0丸の内のカメラを触って内(2016年1月〜) • フリーランスエンジニア・コンサルタからント(2018年4月~) – 他 • Rancher JPコアメンバー • Japan Container Days v18.12 / Cloud Native Days Tokyo セッションスピーカー&運営スタッフスタからッフ • RancherによるKubernetes活用完全ガイド 著者ガイド 著者(第二部担当)
© 2020 Ryoma Fujiwara, All rights reserved 概要 • k3s*1で作ったクラスタ立ち上げたシングち上げたシングル上げたシングルノげたクラスタからシングルノードk8sクラスタからを触ってみる使ってって
ノートPCのカメラを触ってカメラからMJPGを触ってみる配信*2してみます。 最終的にブラウザで動にブラウザ系で作ったクラスタ動画が流れれば成功が流れれば成功流れれば成功れれば成功成功 *1 RancherLabのカメラを触って開発している軽量している軽量k8sディストリビューション(https://github.com/rancher/k3s) *2mjpg-streamerのカメラを触ってフォーク(https://github.com/jacksonliam/mjpg-streamer) を触ってみる使っています
© 2020 Ryoma Fujiwara, All rights reserved mjpg-streamer Pod 全ガイド
著者体の構成のカメラを触って構成 mjpg-streamer Container /dev/video0 volume-device mjpg-streamer-lb Service (type: LoadBalancer*) ノード側ののカメラを触って デバイス TCP: 8080で作ったクラスタ外部に公開
© 2020 Ryoma Fujiwara, All rights reserved k3sのカメラを触って導入 $ wget
https://github.com/rancher/k3s/releases/download/v1.17.0%2Bk3s.1/k3s $ chmod +x k3s $ sudo mv k3s /usr/local/bin/k3s $ sudo k3s server $ sudo k3s kubectl get nodes NAME STATUS ROLES AGE VERSION fujiwara-xps-13-9380 Ready master 82s v1.17.0+k3s.1 $ wget https://github.com/rancher/k3s/releases/download/v1.17.0%2Bk3s.1/k3s $ chmod +x k3s $ sudo mv k3s /usr/local/bin/k3s $ sudo k3s server 別ターミナルで確タからーミナルで作ったクラスタ確認
© 2020 Ryoma Fujiwara, All rights reserved mjpg-streamer Podのカメラを触って導入 •
ポイント – 遺憾ながらながらSecurityContextで作ったクラスタprivileged: true • https://github.com/honkiko/k8s-hostdev-plugin あたクラスタからりを触ってみる導入するともっとセキュアに導入で作ったクラスタきそう。 – /dev/video0を触ってみるボリュームとしてマウントとしてマウント apiVersion: v1 kind: Pod metadata: name: mjpg-streamer labels: app: mjpg-streamer spec: containers: - image: fufuhu/mjpg-streamer:docker- meetup imagePullPolicy: Always name: mjpg-streamer securityContext: privileged: true ports: - containerPort: 8080 volumeMounts: - mountPath: /mnt/video0 name: volume-device volumes: - name: volume-device hostPath: path: /dev/video0
© 2020 Ryoma Fujiwara, All rights reserved Mjpg-streamer-lb (type: LoadBalancer)のカメラを触って導入
• k3sで作ったクラスタはデフォルトでデフォルトで作ったクラスタtraefikが流れれば成功導入されているのカメラを触ってで作ったクラスタ、デデ フォルトで作ったクラスタtype:Ingressやtype:LoadBalancerが流れれば成功使ってえる apiVersion: v1 kind: Service metadata: name: mjpg-streamer-lb spec: type: LoadBalancer selector: app: mjpg-streamer ports: - protocol: TCP port: 8080 targetPort: 8080
© 2020 Ryoma Fujiwara, All rights reserved デモ
© 2020 Ryoma Fujiwara, All rights reserved まとめ • Kubernetesクラスタから内のカメラを触ってノードのカメラを触ってカメラを触ってみる使ってってMJPGのカメラを触って
配信が流れれば成功出来た。たクラスタから。 – 色々仕組みを組み合わせみを触ってみる組みを組み合わせみ合わせると監視カわせると監視カメラやらビデカメラやらビデオ会会 議やらもできそうやらもで作ったクラスタきそうで作ったクラスタすね。 – OpenCVと組みを組み合わせみ合わせると監視カわせるといろいろと面白いことをでいことを触ってみるで作ったクラスタ きそうで作ったクラスタすね • k3sで作ったクラスタ作ったクラスタかる!軽量k8sエッジコンピューティング環境(組みを組み合わせみ合わせると監視カわせてみたクラスタから例) https://speakerdeck.com/fufuhu/k3sdezuo-ru-qing-liang-k8setuzikonpiyuteinguhuan-jing
© 2020 Ryoma Fujiwara, All rights reserved 参考 • 今回利用したクラスタからソースコード
– https://github.com/Fufuhu/docker-camera-manipulation