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

CloudNative時代の機械学習基盤をk3s+jetsonではじめよう

Wenhan Shi
December 08, 2020

 CloudNative時代の機械学習基盤をk3s+jetsonではじめよう

Kubernetes Novice #7

Wenhan Shi

December 08, 2020
Tweet

More Decks by Wenhan Shi

Other Decks in Technology

Transcript

  1. © Copyright 2020 Rancher Labs. All Rights Reserved. Confidential 1

    © Copyright 2020 Rancher Labs. All Rights Reserved. 1 $MPVE/BUJWF࣌୅ͷػցֶशج൫Λ LT KFUTPOͰ͸͡ΊΑ͏ Kubernetes Novice #7 8th Dec 2020 Wenhan Shi Support Engineer
  2. © Copyright 2020 Rancher Labs. All Rights Reserved. Confidential 2

    ⾃⼰紹介 • 施 ⽂翰 (シ ブンカン) Wenhan Shi • @shi_wenhan • [email protected] • 経歴 • ⽇⽴製作所 - Linux カーネルモジュールの保守サポート • Red Hat K.K. - GlusterFS/OpenShift サポート • Canonical Japan K.K. - Ubuntu/OpenStack/Kubernetes サポート • Rancher Lab Inc, - Support Engineer
  3. © Copyright 2020 Rancher Labs. All Rights Reserved. Confidential 4

    https://www.nvidia.com/en-us/autonomous-machines/jetson-store/ Jetson Nanoとは
  4. © Copyright 2020 Rancher Labs. All Rights Reserved. Confidential 5

    4. Run GPU enabled pod 5. Get GPU info from pod log 1. Download Nvidia Jetpack SDK >= v4.2.1 2. Set the Nvidia runtime as a default runtime in Docker 3. Deploy k3s with Docker engine Access Jetson GPU in Kubernetes { “default-runtime”: “nvidia”, “runtimes”: { “nvidia”: { “path”: “nvidia-container-runtime”, “runtimeArgs”: [] } } } curl -sfL https://get.k3s.io | sh -s - --docker apiVersion: v1 kind: Pod metadata: name: devicequery spec: containers: - name: nvidia image: jitteam/devicequery:latest command: [ "./deviceQuery" ] ./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) Detected 1 CUDA Capable device(s) Device 0: "NVIDIA Tegra X1" CUDA Driver Version / Runtime Version 10.2 / 10.2 CUDA Capability Major/Minor version number: 5.3 Total amount of global memory: 3964 MBytes (4156780544 bytes) ( 1) Multiprocessors, (128) CUDA Cores/MP: 128 CUDA Cores GPU Max Clock rate: 922 MHz (0.92 GHz) … Result = PASS
  5. © Copyright 2020 Rancher Labs. All Rights Reserved. Confidential 6

    https://github.com/opendatacam/opendatacam
  6. © Copyright 2020 Rancher Labs. All Rights Reserved. Confidential 7

    https://k3s.io/ K3sとは Rancher Labsが開発した軽量なKubernetesディストリビューション
  7. © Copyright 2020 Rancher Labs. All Rights Reserved. Confidential 8

    K3sの特徴 1. シングルプロセス 1. Kubernetes Master, Kubelet, containerd 2. 必須ではないコードを削除し、リソースを節約 3. SQLite(default) / MariaDB / PostgreSQL / MySQL / etcd 4. X86_64, Arm64, Armv7 5. TLS Certification管理 6. Helm Chart内蔵 7. L4/L7レイヤのLB機能内蔵 8. バイナリ︓50MB程度 9. Minimum MEM︓ 512 MB/server, 75MB/node 10. Minimum CPU︓ 1 core
  8. © Copyright 2020 Rancher Labs. All Rights Reserved. Confidential 9

    Rancherとは Amazon EKS Azure AKS Google GKE Cloud Datacenter Dev Branch Edge OSSベースツールとサービス 認証 & セキュリティ セルフサービスによるKubernetesクラスタのデプロイと運⽤ & インフラストラクチャ管理 ポリシー管理 Pod & network security policies CIS benchmark monitoring RBAC policies Configuration enforcement Visibility & diagnostics Centralized audit Monitoring & alerting Kubernetes version management Node pool management Cluster provisioning Container Storage Storage Monitoring analytics App Catalog Service Mesh Side-car Proxy Logging コンテナアプリケーション 1 コンテナアプリケーショ 2 コンテナアプリケーション 3 Windows Linux
  9. © Copyright 2020 Rancher Labs. All Rights Reserved. Confidential 10

    Rancher - 複数クラスタの⼀元管理
  10. © Copyright 2020 Rancher Labs. All Rights Reserved. Confidential 11

    Demo! Demo! Demo! • Jetson上にK3sのインストール • k3sをRancherシステムに追加 • Rancher GUIでアプリケーションのデプロイ • GPUデバイスの情報をkubernetesから確認 curl -sfL https://get.k3s.io | sh -s - --docker
  11. © Copyright 2020 Rancher Labs. All Rights Reserved. Confidential 12

    • Jetson Nanoはパワフル • USBカメラ、WIFIモジュールがドライバなしですぐ使えた • ヒートシンクのおかげでファンなしでもいける(のはず) • オンラインのドキュメント、サンプルコードが充実 • 改善して欲しいところ • WIFIモジュールがOnboardになって欲しい • ファン取り付けのネジ⽳が難あり 感想 - ハードウェア
  12. © Copyright 2020 Rancher Labs. All Rights Reserved. Confidential 13

    • K3s • 環境構築が早い、k8s runtime的な存在 • 最初からArm対応のためSBCに最適 • リソース消費が少なく、他のアプリに回せる • Certificated K8sのため、学習コストがほぼない • Rancher • 複数クラスタを⼀元管理できたので楽 • デプロイ、URLアクセスも全部GUIでできたので楽 • 新しいサービスのデプロイが簡単 感想 - ソフトウェア