如何在QNAP NAS 中設定Azure IoT Edge

 本教學教您如何在QNAP NAS中安裝 Azure IoT Edge 執行階段,分為兩種平台安裝方式 :

  • x86系列 - 使用Linux Station
  • Arm系列 - 使用Container Station(LXC)

X86 安裝方式 - Linux Station

  1. 請先在 App Center 安裝 Linux Station,並在 Linux Station 中將 Ubuntu 16.04 安裝及設定完成

  2. 使用SSH 進入NAS

  3. 輸入指令進入 Ubuntu 16.04 Console :

    lxc-console -P `/sbin/getcfg ubuntu-hd Install_Path -f /etc/config/qpkg.conf`/lxc -n ubuntu_1604 -t 0
    
  4. 登入NAS admin 帳號密碼

  5. 安裝 Docker-ce 17.09.1 版本,參照以下指令步驟 :

    sudo apt-get update
    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common nano -y
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository "deb [arch=amd64]  https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    sudo apt-get update
    sudo apt-get install docker-ce=17.09.1~ce-0~ubuntu -y
    
  6. 參照Microsoft官方 快速入門:將您的第一個 IoT Edge 模組部署至 Linux x64 裝置 文件進行後續設定(請跳過安裝容器執行階段段落,因為我們已經安裝好Docker環境)

Arm 安裝方式 - Container Station(LXC)

  1. 請先在 App Center 安裝 Container Station,並先將環境設定完成

  2. 開啟 Container Station,切換至 Create 頁面,移動到最下方選擇 Ubuntu 16.04 點擊 Install

  3. 視需求設定,設定完畢後點擊 Create

  4. 等待建立完成

  5. 使用SSH 進入NAS

  6. 輸入指令進入 Ubuntu 16.04 Console(視您建立的LXC變更相應的名稱) :

    lxc-console --name=ubuntu-xenial-armhf-1
    
  7. 安裝 Docker-ce 17.09.1 版本,參照以下指令步驟(預設帳號密碼為ubuntu/ubuntu) :

    sudo apt-get update
    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common nano -y
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository "deb [arch=armhf]  https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    sudo apt-get update
    sudo apt-get install docker-ce=17.09.1~ce-0~ubuntu -y
    
  8. Link libssl.so.1.0.0 and libcrypto.so.1.0.0

    cd /lib/arm-linux-gnueabihf/
    sudo ln -s libssl.so.1.0.0 libssl.so.1.0.2
    sudo ln -s libcrypto.so.1.0.0 libcrypto.so.1.0.2
    
  9. 參照Microsoft官方 快速入門:將您的第一個 IoT Edge 模組部署至 Linux x64 裝置 文件進行後續設定(請跳過安裝容器執行階段段落,因為我們已經安裝好Docker環境)

其他安裝備註

  1. 若X86平台要使用 Container Station(LXC) 安裝 Azure IoT Edge,在NAS Host主機上編輯/usr/local/container-station/lxc/share/lxc/config/common.conf,將

    lxc.mount.auto = cgroup:mixed proc:mixed sys:mixed
    

    這行修改為:

    lxc.mount.auto = proc:mixed sys:mixed
    

    (此步驟只要更新 Container Station皆須執行)
    (注意:因停用cgroup,Container Station LXC部分會無法正常顯示CPU及Ram負載狀況)

  2. 若要使用官方建議的 moby 執行引擎,可在Container中編輯/etc/rc.local,將以下指令加入(非在NAS Host主機上編輯) :

    mount -o remount,rw /sys/fs/cgroup/
    mkdir /sys/fs/cgroup/cpu
    mkdir /sys/fs/cgroup/cpuacct
    mount -t cgroup cgroup -o cpu /sys/fs/cgroup/cpu
    mount -t cgroup cgroup -o cpuacct /sys/fs/cgroup/cpuacct
    
  3. 若要執行Dokcer特權容器模式,請在NAS Host主機上編輯LXC設定檔 ( Linux Station位於 :`/sbin/getcfg ubuntu-hd Install_Path -f /etc/config/qpkg.conf`/lxc/ubuntu_1604、Container Station位於您初始設定的container-station-data/lib/lxc/Container名稱底下 ),將下方字串加入到config最後一行 :

    注意 : 此方法將提升Container控制Host主機的權限,可能會有安全上的疑慮,請評估是否需要開啟此項功能

    linux.kernel_modules: bridge,br_netfilter,ip_tables,ip6_tables,ip_vs,netlink_diag,nf_nat,overlay,xt_conntrack
    raw.lxc: |-
    lxc.cgroup.devices.allow = a
    lxc.cap.drop =
    security.nesting: "true"
    security.privileged: "true"

留言

Google Search

推薦內容橫式

本月熱門文章

[FAANG面試] Amazon/AWS 領導力準則 14 Amazon Leadership Principles

柯文哲弊案:關於橘子

民眾黨柯文哲貼身帳房“橘子”滯留日本尚未回台

日本旅行 去東京可以在哪邊買羽球相關用品? WEMBLEY/WINDSOR/梭家/Victoria/Alpen TOKYO

颱風天注意安全 北北基桃明天停課

[雲端服務] Google 帳戶儲存空間管理:釋放更多空間的有效方法

許多深藍人士懷念的兩蔣時代

蔣經國時代 1979年 美麗島事件 回顧

PM到底在做什麼 ? Project Manager, Product Manager 以及 Program Manager的差別

中文的奧妙 柯文哲及吳慷仁金句為例

這個網誌中的熱門文章

Android應用開發豆知識:利用 adb 安裝 apk 到裝置上

Android 中文輸入法 官方版 ! Gboard - Google 鍵盤 開始支援注音輸入啦

Google Play 推薦Android app 誠徵App排行榜

北京故宮首訪,一窺清宮秘史 大玉兒 & 甄嬛

[家教][社會觀察] 建中教我的事 沒上建中被父母親折磨? 在建中到底是如何 ...

[FAANG面試] Amazon/AWS 領導力準則 14 Amazon Leadership Principles

Acer ICONIA Smart S300 更新後越來越好 Acer也有出手機?!

[品質控制] 什麼是Sanity test ? 軟體測試常見名詞整理 包含不同部門的測試人員負責範圍

新鮮人找工作:職場名詞解釋 AE FAE Pre-sales Post-sales