如何在QNAP NAS 中設定Azure IoT Edge
本教學教您如何在QNAP NAS中安裝 Azure IoT Edge 執行階段,分為兩種平台安裝方式 :
- x86系列 - 使用Linux Station
- Arm系列 - 使用Container Station(LXC)
X86 安裝方式 - Linux Station
請先在 App Center 安裝 Linux Station,並在 Linux Station 中將 Ubuntu 16.04 安裝及設定完成
使用SSH 進入NAS
輸入指令進入 Ubuntu 16.04 Console :
lxc-console -P `/sbin/getcfg ubuntu-hd Install_Path -f /etc/config/qpkg.conf`/lxc -n ubuntu_1604 -t 0
登入NAS admin 帳號密碼
安裝 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
參照Microsoft官方 快速入門:將您的第一個 IoT Edge 模組部署至 Linux x64 裝置 文件進行後續設定(請跳過安裝容器執行階段段落,因為我們已經安裝好Docker環境)
Arm 安裝方式 - Container Station(LXC)
請先在 App Center 安裝 Container Station,並先將環境設定完成
開啟 Container Station,切換至 Create 頁面,移動到最下方選擇 Ubuntu 16.04 點擊 Install
視需求設定,設定完畢後點擊 Create
等待建立完成
使用SSH 進入NAS
輸入指令進入 Ubuntu 16.04 Console(視您建立的LXC變更相應的名稱) :
lxc-console --name=ubuntu-xenial-armhf-1
安裝 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
Link
libssl.so.1.0.0
andlibcrypto.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
參照Microsoft官方 快速入門:將您的第一個 IoT Edge 模組部署至 Linux x64 裝置 文件進行後續設定(請跳過安裝容器執行階段段落,因為我們已經安裝好Docker環境)
其他安裝備註
若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負載狀況)若要使用官方建議的 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
若要執行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"
留言
張貼留言
發表一下意見,互動一下唄!