28核樹莓派集群,順便學學docker,這裡有一個500美元的搭建方案

2020-12-22 機器之心Pro

機器之心編譯

機器之心編輯部

擼代碼、寫博客、動手做點好玩的東西是一個碼農常見的進階方式。很多大牛都有寫博客的習慣,動手能力更是不在話下。今天介紹的這位機器學習愛好者 WILL HO 也喜歡寫博客,他不僅自己註冊了一個博客網站,還搭了一個 28 核的樹莓派集群來實現自託管。在此過程中,他學到了 Linux、Docker、Docker Swarm、Kubernetes、DNS、TLS 和網絡拓撲等很多方面的技能。

在最新的一篇博客中,WILL HO 介紹了自己搭建的 28 核樹莓派集群。這個集群名叫 Kraken,用到了 7 個樹莓派 3B。

前面已經說過,WILL HO 搭建樹莓派集群是為了實現自託管,也就是託管自己用 Wordpress 搭建起來的博客網站。WordPress 是使用 PHP 語言開發的博客平臺,用戶可以在支持 PHP 和 MySQL 資料庫的伺服器上架設屬於自己的網站,也可以把 WordPress 當作一個內容管理系統來使用。

在此之前,他也曾搭建過一個名為 Octopi 的樹莓派集群(一個樹莓派 1B + 和 4 個樹莓派 1B),但很快他就發現,在這個集群上運行 Wordpress 有很大的性能瓶頸,打開一個新的 Wordpress 博客的單頁加載大約需要 10 秒!

為了解決這一瓶頸,WILL HO 下決心對 Octopi 進行升級,於是就有了我們今天文章的主角——Kraken。在以下的篇幅中,WILL HO 介紹了自己搭建 Kraken 的過程。如果你也有建樹莓派集群的需求或者想學學 Docker 等工具,可以參考作者的方式搭一個自己的集群。

Kraken 概況

Kraken 由 7 個樹莓派 3B 組成,由一個 USB 充電器供電。WILL HO 本打算構建一個由 8 個節點組成的樹莓派集群,但消費級的網絡交換機上的最大埠數為 8 個,能容納 7 個節點和一條到路由器的電纜。

另一種選擇是使用具有 16 個埠的商業級網絡交換機,但這顯然是不可能的,看看價格,勸退。

用樹莓派 3B 搭建的 Kraken 集群規格如下表:

所需的零件清單如下表:

值得注意的是,作者選擇了 32GB MicroSD 卡作為第一個節點的存儲,並希望它成為 Docker swarm 設置的主節點。作者預計,還需要額外的存儲空間來構建和部署 Docker 映像。

Kraken (上) 和 Octopi (下)

Kraken 千兆升級

作者發現自己經常在 Raspberry Pi 3B 的內置乙太網埠上達到 100Mbps 的帶寬限制。在大型文件的傳輸過程中,傳輸速度甚至徘徊在令人沮喪的 8MB / 秒。

受到 Jeff Geerling 的博客的啟發,作者發現,使用 USB 千兆乙太網適配器可以將帶寬提高到 200Mbps 以上。於是,他買了一堆便宜的 USB 千兆乙太網適配器和一個千兆交換機,開始升級。

便宜的 USB 千兆乙太網適配器。

附加零件清單:

升級後,Kraken 看起來是這樣的:

Gigabit Kraken, Octopi and my cable management nightmare

如果所有成本都算下來,打造這個 Kraken 集群總共花了 508.84 美元。

基準判別

在升級之前運行 iperf,可以看到最大帶寬是 93.1 Mbps。

~ iperf -c 192.168.3.11------------------------------------------------------------Client connecting to 192.168.3.11, TCP port 5001TCP window size: 129 KByte (default)------------------------------------------------------------[ 4] local 192.168.3.71 port 57041 connected with192.168.3.11 port 5001[ ID] Interval Transfer Bandwidth[ 4] 0.0-10.0 sec 111 MBytes 93.1 Mbits/sec

在安裝千兆適配器之後運行 iperf,可以看到最大帶寬為 224 Mbps!

~ iperf -c 192.168.3.11------------------------------------------------------------Client connecting to 192.168.3.11, TCP port 5001TCP window size: 145 KByte (default)------------------------------------------------------------[ 4] local 192.168.3.71 port 57298 connected with192.168.3.11 port 5001[ ID] Interval Transfer Bandwidth[ 4] 0.0-10.0 sec 268 MBytes 224 Mbits/sec

有了這個簡單的模塊,每個節點就獲得了 131Mbps 的帶寬。然而,這些仍然只是理論上的速度,因為典型的使用場景包括將從網絡接收到的數據寫入磁碟,但是 iperf 只從網絡接收數據,而不將數據寫入磁碟。

一些注意事項

即使在 Web 服務中,也不大可能持續地充分利用此新帶寬。它主要有助於在首次加載時更快地傳輸大型資源(如圖像數據),之後,用戶的瀏覽器會緩存圖像。

此外,Raspberry Pi 1 至 3 型號中臭名昭著的共享 USB 2.0 總線也限制了實際帶寬。

對於未初始化的用戶,單個 USB2.0 總線的 480Mbps 理論單向寬帶在乙太網埠、SD 卡插槽和所有 USB 埠之間共享。

帶寬分布如下所示:

儘管表格中的數字給人的印象是:這次升級沒有帶來性能上的提升。但它們代表的是最壞的情況。通常情況下,人們期望在 web 伺服器上進行的主要是讀操作,而很少進行寫操作。

在現實世界中,帶寬分配通常應如下所示:

以上是作者對第二個樹莓派集群的升級操作,但是如果你已經熟悉 Docker 系統,或者正在尋找高性能的家庭設置,在此不建議使用此教程。

為何選擇此集群?

如果你對 Docker 和 Kubernetes 感興趣,作者強烈建議你上手搭個這樣的集群。對此,他給出了兩個理由:

首先,該集群與官方支持的最新版本 Docker 映像兼容。此外,Raspberry Pi 3B 在 armv7 CPU 架構上運行。最新的 Arm 處理器(arm64)向後兼容在 armv7 上編寫和編譯的所有代碼。相反,arm64 處理器不向後兼容 armv6 處理器(Raspberry Pi 1 和 2),因此它們正在被社區淘汰。

其次,對於大多數對帶寬要求較高的應用程式,該集群將是理想的選擇,例如託管你自己的博客,文件同步服務,媒體庫管理器,記筆記應用程式等。考慮到 Raspberry Pi 3 中的 USB 2.0 總線瓶頸,如果你的應用程式需要大量持續的寫入(例如對視頻進行編碼),這個集群的性能可能無法達到要求。

總而言之,構建 Raspberry Pi 3 集群是學習 Docker 和集群的最經濟有效的方式,並且在可預見的將來仍將如此。因此,如果你只是想接觸 Docker,強烈建議你嘗試一下。

原文連結:https://ikarus.sg/how-i-built-kraken/

相關焦點

  • 樹莓派「小霸王學習機」來了,一個自帶鍵盤的電腦,售價不到500元
    拆箱樹莓派400 拆箱之前需要聲明一點,70美元的價格是指單獨一個「鍵盤電腦」。 若是入手完整套件,則需要100美元(約669元)。 搓搓小手,先來看看樹莓派400的「寶箱」裡,都「囊括」了些啥*。
  • 樹莓派4散熱風扇發布,售價 5 美元
    樹莓派基金會今天為樹莓派4發布了一款外設散熱風扇,售價 5 美元,旨在解決樹莓派4運行過程中過熱的問題。
  • 樹莓派又有新外殼:GELID發布ICEBERRY鋁合金機箱,售價22美元
    在這裡不僅好玩意兒拿到手軟,還有一群志同道合的夥伴與你暢聊數碼。外設廠商 GELID近日發布了一款為樹莓派 4 設計的鋁合金機箱,名為 ICEBERRY「冰梅」。這款產品不僅僅包含外殼,內部也有著專門設計的鋁散熱片以及內置風扇,確保性能發揮。
  • 個頭小本事大:13種20 美元以下的樹莓派 Zero 替代品
    這裡,我將給出樹莓派 Zero 和樹莓派 Zero W 的一些替代品。 樹莓派 Zero 替代品:應用於物聯網和嵌入式項目的超小單板計算機 受益於開源設計和開源軟體棧,我們有為不同項目提供的具有各種功能集的優秀替代品。所有這些板子運行的都是嵌入式 Linux 的各種變體。
  • 等等黨的勝利:樹莓派4首發8GB版,售價75刀,還可嘗鮮64位作業系統
    推出一年,樹莓派 4 已經賣出了近 300 萬臺。但美中不足的是,樹莓派 4 的內存最大只有 4G。官方博客表示,樹莓派使用的 BCM2711 晶片可以尋址高達 16GB 的 LPDDR4 SDRAM,但 8G 的 LPDDR4 封裝一直是一個障礙,因為這個封裝必須是為樹莓派單獨設計的。這使得 8GB 版本的研發周期要比預期中長一些。
  • Docker搭建MySQL主從複製(一主一從)
    >3、第一次啟動MySQL參數說明之後的第二次啟動直接用 docker start MYSQL8即可。這裡順便看下當前MYSQL的版本,通過 select version();明顯可以看到當前MYSQL的版本是 8.0.22注意:我這邊Master庫和Slave
  • GELID宣布為樹莓派4推出Iceberry散熱盒 22美元一個
    GELID今日公布了為樹莓派4設計的Iceberry Cooling機箱。這款機箱提供了多種散熱彎道,並且不限制安裝後Raspberry Pi 4的連接性。Iceberry散熱箱採用了纖薄的鋁製外殼,旨在保證樹莓派4的關鍵部件的安全。
  • 「Mysql」資料庫主從搭建-基於docker
    資源有限虛擬機搭建對機器配置有要求,並且安裝mysql步驟繁瑣一臺機器上可以運行多個Docker容器Docker容器之間相互獨立,有獨立ip,互不衝突PART2 關於習慣雜談//// ////PART 1 Docker搭建主從資料庫學長五分鐘帶你走進docker主從搭建的世界
  • 拔掉MacBookPro,用8GB樹莓派4工作一天,體驗原來是這樣的
    我插入了官方的樹莓派 4 USB-C 電源和一個微型 HDMI 轉 HDMI 適配器,該適配器已插入我的 LG 4K 27 寸顯示器,然後等待樹莓派啟動!接下來,我啟動了「像素倍增(Pixel Doubling)」功能,如此一來,原來的 1 個像素會以 2×2 的像素區塊搭建,進而讓所有內容尺寸精確兩倍,這使得樹莓派可以在 4K 顯示器上運行。如果你想玩遊戲或看視頻的話,這樣就足夠了,當然,4K 設置下看視頻會有一些輕微的撕裂。
  • Docker+jenkins小知識,講解通俗易懂,有必要收藏
    有些人可能會想,持續構建很熟悉基本上也就是基於jenkins,沒錯jenkins確實是目前持續集成中最為流程也比較常見的一種解決方案,不過我們今天並不是僅僅單純地講jenkins,而是想再引入另外一個比較新穎也比較火的概念,也就是docker,對於熱點概念比較熟悉的朋友對docker並不陌生,這幾乎是近期最熱點的一門技術之一。
  • 用於各種用途的優秀樹莓派作業系統
    因此,本文中我要介紹一些專門為樹莓派量身定製的流行且實用的作業系統。由於有樹莓派鏡像工具,安裝任何作業系統到樹莓派上都很容易在 SD 卡上安裝樹莓派作業系統比以前容易得多。你只需下載樹莓派鏡像就可以快速地安裝任何樹莓派作業系統。請看下面的官方視頻,你就知道有多簡單。
  • 專訪樹莓派創始人 Eben Upton:堅持 35 美元不動搖
    他們有一個培訓教師的活動,我們過去在常州和上海都有參與提供樹莓派在編程方面的的參與,所以我們除了有介紹樹莓派本身的性能以外,也展示出在樹莓派上怎麼樣教小孩編程的應用。所以我們在華中地區已經開展了這些工作。在華南地區,今天晚上我們也會跟樹莓派用戶有一個聚會,您會看到有很多老師會過來參與。愛範兒:在國內,歐時電子打算如何推廣樹莓派?
  • Python+樹莓派+YOLO打造一款人工智慧照相機
    相機不傻,它可以很機智我們不打算將一個深度學習模塊整合到相機中,相反,我們準備將樹莓派「掛鈎」到攝像頭上,然後通過WiFi來發送照片。本著「一切從簡」(窮)為核心出發,我們今天只打算搞一個跟DeepLens類似的概念原型,感興趣的同學可以自己動手嘗試一下。接下來,我們將使用Python編寫一個Web伺服器,樹莓派將使用這個Web伺服器來向計算機發送照片,或進行行為推斷和圖像檢測。
  • 如何在樹莓派4開發板上使用Windows 10 IoT Core?
    作為一款體積小巧的開發板,樹莓派已經提供了預配置的系統環境。但對於追求更豐富的功能體驗的用戶來說,Windows 10 IoT Core 顯然也是一個不錯的選擇。好消息是,曾於去年為樹莓派 3 創建了 Windows on ARM 安裝程序的開發者 José Manuel Nieto,現在又為樹莓派 4 開發板的用戶帶來了 Windows 10 IoT Core 的輕鬆部署解決方案。
  • 3D 列印的樹莓派蜘蛛機器人
    這個四足蜘蛛機器人以樹莓派作為「大腦」,身軀和四肢由 3D 列印。無需定製電路板,初學者即可完成組裝。不僅如此,教程還包含一段將近一個小時的組裝視頻。這對於想了解樹莓派、Python 編程的朋友來說是非常不錯的上手項目。
  • 樹莓派400已發布,「鍵盤」內置ARM晶片,連接顯示器就是一臺電腦
    圖:樹莓派4它的四核1.8 GHz ARM Cortex-A72 CPU 速度稍微快一點,晶片方案仍舊是博通BCM211,高於樹莓派4中SoC的1.5 GHz、4GB 內存、藍牙5.0和802.11 ac Wi-Fi,比樹莓派4大概快了20%。
  • 30 元樹莓派小電腦歸來,硬體大升級
    IT之家訊 5美元的樹莓派Zero是一款十分棒的小型計算機設備,但由於物美價廉,供不應求。製造商暫時將注意力轉移到生產新款樹莓派3(Raspberry Pi 3)上。今天最新消息,樹莓派Zero重新上架,新款樹莓派Zero大約3萬臺可用於購買,相信這次一經推出將很快售罄。
  • 什麼是樹莓派(Raspberry Pi)
    你知道樹莓派(Raspberry Pi)嗎?它可不是一款餐後甜點,而是一個只有信用卡大小的計算機,更準確的說它是一款單板計算機。樹莓派由註冊於英國的慈善組織「Raspberry Pi 基金會」開發和維護,其設計初衷是用來教孩子們學習程序設計的低成本計算機。
  • 樹莓派迎來PoE網線供電選項 新HAT模塊售20美元
    好消息是,該基金會於今日宣布,HAT 硬體附加模塊已經正式開售,單獨購買的價格為 20 美元(¥136 RMB)。 至於樹莓派 3 Model B+,其價格仍是 34.95 美元(¥238 RMB)。新款 PoE HAT 模塊自帶了 25mm 的小風扇,以幫助樹莓派 3 Model B+ 更好地散熱,它會在達到一定的溫度預設值後啟動。
  • 打造實戰化的線上k8s集群
    現在網上大部分教程都是教如何安裝k8s,幾乎沒有一個完整的教程告訴我們,如何用k8s部署一個完整的線上應用系統。我會用幾篇文章來教大家如何部署和使用上述程序,只要堅持和我一步一步操作下去,最終讓你能夠部署一個高可用的線上k8s集群,歡迎大家持續關注。