Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Raspberry Pi用コンテナをさくらのクラウドでビルドする

72 views

Published on

Raspberry Piによるシステムの開発の高度化(CI/CD) の一環として、高速コンテナビルド環境についてご紹介。

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Raspberry Pi用コンテナをさくらのクラウドでビルドする

  1. 1. Raspberry Pi⽤コンテナを さくらのクラウドでビルドする IoT・エッジコンピューティング向けCI/CD開発環境の⼀環として 2019/04/18 q-tech Meeting X “Special Day” @⽯狩D.C. (C) Copyright 1996-2019 SAKURA Internet Inc さくらインターネット研究所 上級研究員 菊地 俊介さくらインターネット株式会社
  2. 2. 発表内容 • IoTやそれを発展させたサイバーフィジカル・コンピュー ティングによる、実世界(現場)の⾼度化が今ホット。 • さくらインターネット研究所も「『超個体型データセン ター』を⽬指す」研究ビジョンを発表、コンピューティン グリソースが現場に溶け込んでいく(近)未来の実現にむ けて、クラウドと現場をシームレスに繋ぐ技術の研究開発 を推進。 • 現場の⾼度化(IoT)の実装に今⼀番便利なのは Raspberry Pi。 • Raspberry Piによるシステムの開発の⾼度化(CI/CD) の⼀環として、⾼速コンテナビルド環境についてご紹介。 2
  3. 3. ⾃⼰紹介 菊地 俊介 (1974年⽣まれ、東京都出⾝、品川区在住) 4 所属 さくらインターネット研究所 経歴 早稲⽥⼤学⼤学院 卒 富⼠通(株)富⼠通研究所 ネットの研究やったり、トイレIoT作ったり さくらインターネット研究所 データ流通実証実験、OpenFogコンソーシアム、 AR/VR、量⼦(アニーリング)コンピュータ 専⾨ エッジ・Fogコンピューティング (分散系システムのあたり) 趣味 新技術調査、家庭内IoT、⾞、鉄道
  4. 4. IoTといえばラズパイ • 最もお⼿軽なIoTマシン。 • GPIOが使えて、Linuxが動く。 • すでにエコシステム(豊富な3rdパーティ部品、開発ノウハ ウ)が確⽴。 4 研究所で実施中のラズパイを⽤いた試作品
  5. 5. ラズパイでの開発⼿法 • プロトタイピングでは... • ラズパイ本体にキーボード・ディスプレイを接続。 • ssh経由でリモート接続してコード開発。 5 • 本番環境に近くなってくると... • ⾮⼒な環境で開発効率が上がらない。 • 台数多くなってくると、デプロイ作業が⼤変。 プログラム 開発マシン ラズパイ …
  6. 6. ラズパイでもDocker(コンテナ)使えます • ラズパイにDockerをインストールして、コンテナを実⾏さ せることができる。 • 更にKubernetesをインストールしてオーケストレーションも可能。 6 コンテナ 開発マシン … Docker ラズパイ DockerFile
  7. 7. ラズパイでもDocker(コンテナ)使えます、が... • ラズパイにDockerをインストールして、コンテナを実⾏さ せることができる。 • 更にKubernetesをインストールしてオーケストレーションも可能。 7 コンテナ 開発マシン … Docker コンテナビルドが遅い... • コンテナビルドは、ラズパイ⾃⾝で実施しなければならない • ⾮⼒なノード • ノードのネットワーク接続環境に依存(⾃宅WiFiェ...) • なんですが... ラズパイ DockerFile
  8. 8. ラズパイでもDocker(コンテナ)使えます、が... • ラズパイにDockerをインストールして、コンテナを実⾏さ せることができる。 • 更にKubernetesをインストールしてオーケストレーションも可能。 8 コンテナ 開発マシン … Docker コンテナビルドが遅い... • コンテナビルドは、ラズパイ⾃⾝で実施しなければならない • ⾮⼒なノード • ノードのネットワーク接続環境に依存(⾃宅WiFiェ...) それ、さくらのクラウドでできるよ︕ • なんですが... ラズパイ DockerFile
  9. 9. さくらのクラウド上で、ラズパイ⽤コンテナをビルドする • さくらのクラウド上の仮想マシンにARMエミュレー ション環境を作って、ラズパイ⽤コンテナ(バイナ リ)をビルドする。 9 開発マシン ラズパイ Docker さくらのCloud DockerFile コンテナビルド [root@fogregistry qemu]# docker run --rm --privileged multiarch/qemu-user-static:register ...<snip>... [root@fogregistry qemu]# uname -a Linux fogregistry 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux [root@fogregistry qemu]# docker build -t armhf-artful-vim -f Dockerfile . ...<snip>... [root@fogregistry qemu]# docker run -it --rm armhf-artful-vim:latest bash root@e8418d14f0e5:/# uname –a Linux e8418d14f0e5 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 armv7l armv7l armv7l GNU/Linux root@e8418d14f0e5:/# file /bin/bash /bin/bash: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=c2fac9c07846ccd7daa2c96126fa93ce863b2ea4, stripped root@e8418d14f0e5:/# exit exit [root@fogregistry qemu]# dockerコンテナ内にQemuによる エミュレーション環境を作るコマンド ARM7lエミュレーション環境下でコン テナビルドするコマンド コンテナを実⾏させてみ ると、armv7lになって いる︕ この時点ではクラウド上 のx86として⾒えている
  10. 10. まとめ • IoTやサイバーフィジカルコンピューティングにはラ ズパイが便利︕ • ラズパイでもDocker (+Kubernetes)でコンテナ& オーケストレーション環境が作れます。 • でもラズパイは⾮⼒なのでコンテナビルドが遅い︕ • プロセッサアーキテクチャを超えて、x86サーバでも ラズパイ⽤(Armv7lの)コンテナビルドできます︕ • (おまけ) • Qemu環境ではなくARMネイティブ環境となるARMサーバ クラウド(試験環境)も提供できるかも...︖ 10

×