Upgrade to Pro — share decks privately, control downloads, hide ads and more …

k3sで作ったクラスタからPCのカメラをさわってみる

 k3sで作ったクラスタからPCのカメラをさわってみる

Docker Meetup Tokyo #34のLT資料です。

Ryoma Fujiwara

January 16, 2020
Tweet

More Decks by Ryoma Fujiwara

Other Decks in Programming

Transcript

  1. © 2020, Ryoma Fujiwara, All Rights Reserved
    k3sで作ったクラスタ作ったクラスタかったクラスタからクラスタからから
    PCのカメラを触ってカメラを触ってみる触ってみるってみる
    Tea pod418 藤原涼馬

    View full-size slide

  2. © 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活用完全ガイド 著者ガイド 著者(第二部担当)

    View full-size slide

  3. © 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) を触ってみる使っています

    View full-size slide

  4. © 2020 Ryoma Fujiwara, All rights reserved
    mjpg-streamer Pod
    全ガイド 著者体の構成のカメラを触って構成
    mjpg-streamer
    Container
    /dev/video0
    volume-device
    mjpg-streamer-lb
    Service
    (type: LoadBalancer*)
    ノード側ののカメラを触って
    デバイス
    TCP: 8080で作ったクラスタ外部に公開

    View full-size slide

  5. © 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
    別ターミナルで確タからーミナルで作ったクラスタ確認

    View full-size slide

  6. © 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

    View full-size slide

  7. © 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

    View full-size slide

  8. © 2020 Ryoma Fujiwara, All rights reserved
    デモ

    View full-size slide

  9. © 2020 Ryoma Fujiwara, All rights reserved
    まとめ

    Kubernetesクラスタから内のカメラを触ってノードのカメラを触ってカメラを触ってみる使ってってMJPGのカメラを触って
    配信が流れれば成功出来た。たクラスタから。
    – 色々仕組みを組み合わせみを触ってみる組みを組み合わせみ合わせると監視カわせると監視カメラやらビデカメラやらビデオ会会
    議やらもできそうやらもで作ったクラスタきそうで作ったクラスタすね。
    – OpenCVと組みを組み合わせみ合わせると監視カわせるといろいろと面白いことをでいことを触ってみるで作ったクラスタ
    きそうで作ったクラスタすね

    k3sで作ったクラスタ作ったクラスタかる!軽量k8sエッジコンピューティング環境(組みを組み合わせみ合わせると監視カわせてみたクラスタから例)
    https://speakerdeck.com/fufuhu/k3sdezuo-ru-qing-liang-k8setuzikonpiyuteinguhuan-jing

    View full-size slide

  10. © 2020 Ryoma Fujiwara, All rights reserved
    参考
    ● 今回利用したクラスタからソースコード
    – https://github.com/Fufuhu/docker-camera-manipulation

    View full-size slide