如何在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

推薦內容橫式

本月熱門文章

鋼鐵韓粉站出來 讓韓國瑜每天唱歌喝酒好不好

捐款支持義大利靈醫會 一起來幫助他們 就像當初教士來台灣協助我們一樣 !!

「港版國安法」,法律將會放在《基本法》附件三在港實施,而非就《基本法》23條立法

香港事件回顧 2020/08/10 前眾志成員周庭及壹傳媒創辦人黎智英被捕 今日累計10人被捕

黑金? 不得不提前總統馬英九大姊馬以南 吳敦義 林益世

從台灣省長宋楚瑜到台北市長柯文哲,可以說 宋楚瑜 2.0 就是柯文哲

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

兒福聯盟到底多有錢?收捐款為什麼不做事情而是定存?王育敏不解釋嗎?

這個網誌中的熱門文章

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