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

2024/12 國民黨的黑箱國會造成台灣民主大退步 選罷法 ... 還有真實作用嗎

綠能貪污原來大多是國民黨民眾代表

悲痛!XREX區塊鏈金融犯罪調查師陳梅慧Miffy殞落,揭露虛擬貨幣犯罪背後的黑幕

常見詐騙案例犯罪手法及預防方式一覽表 (持續更新)

中華民國國軍辛苦了 因應中共軍演努力監視

20241123 BoA : One's Own in TAIPEI 難得一見的BoA來台灣演出

[FAANG面試] 如何準備Google Technical Program Manager (TPM) 面試

讓你懷疑自已的記憶力以及語文能力的經典討論串:無心插柳柳橙汁

這個網誌中的熱門文章

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