デジタル変革を成功に 導くために不可欠な ...€¦ · デバイスが導入されると予測。19 ネットワークに接続しているこの デバイスを信頼すべきか?
CROSS 2016 LT - 我々のIoTデバイスがこんなに多いはずが無い
-
Upload
kohei-matsushita -
Category
Devices & Hardware
-
view
1.344 -
download
1
Transcript of CROSS 2016 LT - 我々のIoTデバイスがこんなに多いはずが無い
Dnsmasq (192.168.0.2)• apt-proxy.local = 10.0.0.5
Internetdig apt-proxy.localif [ $? = 0 ]; then apt-get update apt-get upgrade –yfi
Icons made by Freepik from www.flaticon.com is licensed by CC BY 3.0
DNS Server= 192.168.0.2 apt-proxy.local
= 10.0.0.5
Group A• DNS Server = 192.168.0.2
apt-proxy.local (10.0.0.5)• apt-cacher-ng
Dnsmasq (192.168.0.2)• apt-proxy.local = 10.0.0.5
Internetdig apt-proxy.localif [ $? = 0 ]; then apt-get update apt-get upgrade –yfi
DNS Server= 192.168.0.2 apt-proxy.local
= 10.0.0.5
apt-proxy.local (10.0.0.5)• apt-cacher-ng
apt-cacher-ngで回線費用を安く、そして高速化
しかも2台目以降はもっと高速
Icons made by Freepik from www.flaticon.com is licensed by CC BY 3.0
Dnsmasq (192.168.0.2)• apt-proxy.local = 10.0.0.5
Internetdig apt-proxy.localif [ $? = 0 ]; then apt-get update apt-get upgrade –yfi
DNS Server= 192.168.0.2 apt-proxy.local
= 10.0.0.5
apt-proxy.local (10.0.0.5)• apt-cacher-ng
スクリプト終盤で
curl –s http://metadeta.soracom.io/v1/subscriber/unset_group
グループ解除すれば次回はapt-getが走らない
Icons made by Freepik from www.flaticon.com is licensed by CC BY 3.0
Dnsmasq (192.168.0.2)• apt-proxy.local = 10.0.0.5• playbook.local = 10.0.0.10
Group A• DNS Server = 192.168.0.2
playbook.local (10.0.0.10)
dig playbook.localif [ $? = 0 ]; then wget playbook.local/hosts wget playbook.local/site.yml ansible-playbook –i hosts site.ymlfi
DNS Server= 192.168.0.2
playbook.local= 10.0.0.10
Ansible起動!
Icons made by Freepik from www.flaticon.com is licensed by CC BY 3.0
Dnsmasq (192.168.0.2)• apt-proxy.local = 10.0.0.5• playbook.local = 10.0.0.10
Group A• DNS Server =
192.168.0.2
playbook.local (10.0.0.10)
dig playbook.localif [ $? = 0 ]; then wget playbook.local/hosts wget playbook.local/site.yml ansible-playbook –i hosts site.ymlfi
DNS Server= 192.168.0.2
playbook.local= 10.0.0.10自分自身を構成するplaybookを
ダウンロードしつつansibる
Icons made by Freepik from www.flaticon.com is licensed by CC BY 3.0
このへん systemd ならdigの実行結果によってファイルを
出力するUnit
apt-getやansibleの実行Unitから
ConditionPathExists を使って
実行可否を確認
これらをrequires & afterでつなぐ
Frightboard
REST APIでステータス更新AnsibleからはuriモジュールでOK
- name: Report completed to Frightboard uri: url: http://frightboard.local:9292/api/v1/statues?iid={{host_id}} method: POST HEADER_Content-Type: “application/x-www-form-urlencoded” body: “status=completed” status_code: 200,201
そもそも bootupで
( git clone hoge.git /tmp/hoge ;
cd /tmp/hoge ;
git fetch ;
git checkout $(git describe –tags –abbrev=0) )
とか、揮発性の高い領域に展開したほうが
いいかもね
職人が丹精込めて作る時代はすぐに過ぎ去ります
オンプレで培った知見が活かせる余地あり
これらを駆使して早くデバイスを家畜化しましょう
http://www.engineyard.co.jp/blog/2014/pets-vs-cattle/