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.8k
k3sで作ったクラスタからPCのカメラをさわってみる
Docker Meetup Tokyo #34のLT資料です。
Ryoma Fujiwara
January 16, 2020
Tweet
Share
More Decks by Ryoma Fujiwara
See All by Ryoma Fujiwara
偶発性を好奇心で味方にする
fufuhu
2
580
Harvesterという選択肢 (RancherJP Online Meetup #05)
fufuhu
1
150
個人検証アカウントの管理どんな感じでやってますか_JAWSUGランチ共有会発表資料
fufuhu
3
1.1k
AWS OrganizationsとIAM Identity Center, Terraformを連携した権限管理
fufuhu
5
10k
過去のセキュリティ系セッション振り返り
fufuhu
2
560
heyにおけるCI/CDの現状と課題
fufuhu
3
1.1k
heyにおけるSREの大切さ~マルチプロダクト運用の「楽しさ」と「難しさ」および今後の展望~
fufuhu
3
9.9k
STORES決済におけるEC2からECS Fargateへの移行〜無停止要件も添えて〜
fufuhu
3
2.4k
Rancher Harvesterの紹介
fufuhu
4
1.7k
Other Decks in Programming
See All in Programming
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
420
5つのアンチパターンから学ぶLT設計
narihara
1
110
VS Code Update for GitHub Copilot
74th
1
300
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
330
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
110
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
1
110
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
660
技術同人誌をMCP Serverにしてみた
74th
0
280
Deep Dive into ~/.claude/projects
hiragram
7
1.2k
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
130
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
240
Featured
See All Featured
Fireside Chat
paigeccino
37
3.5k
GitHub's CSS Performance
jonrohan
1031
460k
Speed Design
sergeychernyshev
32
1k
A better future with KSS
kneath
239
17k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Documentation Writing (for coders)
carmenintech
71
4.9k
Rails Girls Zürich Keynote
gr2m
94
14k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Raft: Consensus for Rubyists
vanstee
140
7k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
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