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
4.8k
Rancher と Terraform
fufuhu
2
550
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
790
偶発性を好奇心で味方にする
fufuhu
2
720
Harvesterという選択肢 (RancherJP Online Meetup #05)
fufuhu
1
200
個人検証アカウントの管理どんな感じでやってますか_JAWSUGランチ共有会発表資料
fufuhu
3
1.1k
AWS OrganizationsとIAM Identity Center, Terraformを連携した権限管理
fufuhu
5
10k
過去のセキュリティ系セッション振り返り
fufuhu
2
580
heyにおけるCI/CDの現状と課題
fufuhu
3
1.2k
Other Decks in Programming
See All in Programming
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
310
旅行プランAIエージェント開発の裏側
ippo012
2
910
複雑なフォームに立ち向かう Next.js の技術選定
macchiitaka
2
130
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
270
Laravel Boost 超入門
fire_arlo
3
220
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
4
2.9k
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.4k
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
460
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
140
Testing Trophyは叫ばない
toms74209200
0
880
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
180
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
280
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Making Projects Easy
brettharned
117
6.4k
Designing Experiences People Love
moore
142
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Git: the NoSQL Database
bkeepers
PRO
431
66k
What's in a price? How to price your products and services
michaelherold
246
12k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Optimizing for Happiness
mojombo
379
70k
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