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.5k
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
Amazon Bedrock Knowledge Bases Hands-on
konny0311
0
130
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
260
What's New in Web AI?
christianliebel
PRO
0
120
例外処理を理解して、設計段階からエラーを見つけやすく、起こりにくく #phpconfuk
kajitack
12
5.6k
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
260
Flutterアプリ運用の現場で役立った監視Tips 5選
ostk0069
1
130
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
250
Kotlin 2.2が切り拓く: コンテキストパラメータで書く関数型DSLと新しい依存管理のかたち
knih
0
390
ドメイン駆動設計のエッセンス
masuda220
PRO
15
7.6k
KoogではじめるAIエージェント開発
hiroaki404
1
400
Inside of Swift Export
giginet
PRO
1
520
CSC305 Lecture 15
javiergs
PRO
0
180
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Code Review Best Practice
trishagee
72
19k
Building Applications with DynamoDB
mza
96
6.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
GitHub's CSS Performance
jonrohan
1032
470k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Context Engineering - Making Every Token Count
addyosmani
8
360
Music & Morning Musume
bryan
46
6.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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