とある30秒でできるKubernetes + GPU 開発環境

5da4f70462de256a566e68adfbb3ca03?s=47 Wenhan Shi
December 05, 2018

とある30秒でできるKubernetes + GPU 開発環境

UpstreamのKubernetes環境を30秒以内にあなたのノートPCに構築されます。しかも一コマンドで。NVIDIAのGPUを有効にするのも一コマンドで一発で設定できます。このマジックを披露したのは、snap + microk8sです。この2つの紹介についてお話します。

5da4f70462de256a566e68adfbb3ca03?s=128

Wenhan Shi

December 05, 2018
Tweet

Transcript

  1. とある30秒で構築できる Full Kubernetes + GPU 開発環境 Wenhan Shi Senior Technical

    Account Manager | Canonical Japan K.K. 5th Dec 2018 wenhan.shi@canonical.com @shi_wenhan
  2. Who am I • 日立製作所 ◦ RHEL サポート ◦ Linux

    Software/ SSD Firmware 開発 • Red Hat 株式会社 ◦ GlusterFS, OpenShift サポート • Canonical Japan 株式会社 ◦ Ubuntu, OpenStack サポート ◦ Japan採用担当
  3. 30s以内に構築するには? • 手元のノートPCで十分 • Kubernetes環境構築、1コマンド • NVIDIA GPU有効化、1コマンド(*) (*)Requires NVIDIA

    drivers to already be installed on the host system.
  4. $ sudo snap install microk8s --classic $ microk8s.enable gpu

  5. Demo Install microk8s Deploy 3 Nginx Pods Access Nginx Service

    https://asciinema.org/a/PA1f4s4UMMrswJAA27Ot0ARkt
  6. $ sudo snap install microk8s --classic $ microk8s.enable gpu

  7. Snap A universal app store for All Linux and IoT

    https://snapcraft.io/ Application Application OS Package Shared Library Device Driver Classic Snap Kernel
  8. Snap A universal app store for All Linux and IoT

    https://snapcraft.io/
  9. Create a Snap app

  10. Where people are using your snap app

  11. Measure growth of your app

  12. $ sudo snap install microk8s --classic $ microk8s.enable gpu

  13. microk8s -- https://microk8s.io/ • 開発者向け、アプリ感覚のFull kubenetes環境 ◦ 60 30 秒以内に構築完了可能

    ◦ Upstreamと同じバイナリ ◦ Daily build、beta、stable が選択可能 ▪ 新リリース後、数時間で利用可能 ◦ 新機能がbuilt-in、enable/disableで利用可能 ◦ Upgradeも1コマンド、もしくは自動的 ◦ GPGPU Passthrough, CUDA利用可能
  14. microk8s -- https://microk8s.io/ • --channelオプションでバージョン選択 ◦ 常に最新バージョン ▪ snap install

    microk8s --classic ◦ バージョン指定 ▪ --channel=1.12/stable (1.12/1.11/1.10) ◦ リリースネーム(*) ▪ */stable: Upstreamリリースから1週間程度 ▪ */beta, */candidate: Upstreamリリースから数時間程度 ▪ */edge: Upstream/microk8sのpatch更新 (*)do not relate to Kubernetes release names.
  15. microk8s -- https://microk8s.io/ # snap refresh --channel=*/* channels: stable: v1.12.2

    (266) 224MB classic candidate: v 1.13.0 (340) 204MB classic beta: v 1.13.0 (340) 204MB classic edge: v 1.13.0 (340) 204MB classic 1.12/stable: v1.12.2 (267) 224MB classic 1.12/candidate: v1.12.3 (336) 226MB classic 1.12/beta: v1.12.3 (336) 226MB classic 1.12/edge: v1.12.3 (336) 226MB classic 1.11/stable: v1.11.4 (255) 219MB classic 1.11/candidate: v1.11.5 (322) 219MB classic 1.11/beta: v1.11.5 (322) 219MB classic 1.11/edge: v1.11.5 (322) 219MB classic 1.10/stable: v1.10.10 (285) 175MB classic 1.10/candidate: v1.10.11 (321) 175MB classic 1.10/beta: v1.10.11 (321) 175MB classic 1.10/edge: v1.10.11 (321) 175MB classic
  16. microk8s Addons • $ microk8s.enable * ◦ dns: kubedns ◦

    dashboard: grafana influxdb ◦ storage: persistent storage ◦ ingress: load-balancer ◦ gpu: NVIDIA GPU(s) ◦ istio: service mash ◦ registry: Docker local register(need storage) ◦ metrics-server: monitor
  17. Thank you and we’re hiring ... https://www.canonical.com/careers/all-vacancies

  18. None