
去年夏天我接了個需求要在本地搭一套四節點的樹莓派集群用來跑K8s學習和邊緣側的定時任務。剛開始很自然就想到買四塊樹莓派4B疊起來電源、網線、散熱片、亞克力支架全算上桌面基本沒法看了四根網線從交換機拖出來每個節點還得配一個官方電源適配器插線板上密密麻麻全是充電頭。后來發現市面上有基于Compute Module 4的四槽集群板一塊PCB解決供電、網絡和固定起售價80美元左右一下子把布線復雜度打下來了。這篇文章就圍繞這塊板子從硬件架構、CM4選型、系統燒錄到集群初始化把從裸板到四節點K3s跑通的全過程記錄下來也把過程中踩過的坑一并說清楚。如果你也在糾結要不要用集群板替代樹莓派4B堆疊或者已經入手了類似的CM4集群板但不知道怎么開始這篇文章基本就是一份完整的上手指南涵蓋硬件、系統、網絡和常見排障。1. 為什么搞四槽集群板而不是堆四塊樹莓派4B1.1 傳統堆疊方案的真實痛點用四塊樹莓派4B組集群聽起來簡單實際上從物理層面就有一堆麻煩。首先是供電每塊4B需要獨立的5V/3A電源四塊板子就是四個充電頭還要確保墻插面板有足夠的插座一旦某個電源質量不過關重負載下電壓跌落節點隨機重啟就是家常便飯。其次是網絡四根網線從交換機到每個派想理清楚哪根線對應哪個節點得貼標簽時間一長標簽脫落排查鏈路問題非常痛苦。然后是散熱樹莓派4B在CPU持續負載下SoC溫度輕松超過80攝氏度疊層支架如果風道設計不好上層板子吸下層熱風溫度更難壓。這些問題單獨看都能忍受但湊在一起就非常難受。最關鍵的是樹莓派4B本身是一臺完整的小電腦HDMI、USB、音頻等接口在集群場景里幾乎用不上這些接口卻占用了大量PCB面積導致四塊板子堆疊起來體積很夸張。集群板方案不同它把計算模塊直接插在一張大底板上整塊板子統一供電、統一走線、統一散熱所有IO通過板載接口引出密度和整潔度完全是另一個級別。1.2 集群板方案的核心思路所謂四槽Raspberry Pi集群板本質上是為樹莓派Compute Module設計的主板板上沒有CPU、內存和存儲只提供電源、網絡、M.2插槽、GPIO引出等周邊電路。你需要自己買四塊Compute Module插上去再配一個12V電源適配器插一根上行網線到主路由器四個節點就都通電入網了。這個思路和服務器主板的邏輯一模一樣CPU、內存條是獨立模塊主板負責供電和互連。Cluster Board把這種模塊化思路帶到了樹莓派生態里。它解決的不僅是整潔問題更重要的是運維體驗——四個節點共享一個電源入口、一個上行網絡口重啟時不用蹲在插線板面前挨個拔插頭直接斷電整板重啟或者通過板載管理功能獨立控制每個節點的通斷。80美元的價格指的是裸板價格不含CM4模塊、電源、M.2 SSD這一點要提前有數。但和四塊樹莓派4B加四個電源加一個五口交換機的方案比集群板方案在成本上并不吃虧尤其在散熱風扇、亞克力支架這些配件上省了不少錢桌面空間更是省出了一大塊。1.3 這套方案適合誰我不是說每個人都應該用集群板。普通玩家手里如果已經有兩三塊樹莓派4B拿來跑點輕量服務完全沒必要換。但如果你有明確的多節點需求比如學K8s、跑Ceph實驗、搭分布式爬蟲、在家部署一套小型CI/CD集群集群板能把很多體力活省掉。還有一類人非常適合經常做硬件測試的嵌入式工程師。CM4模組在量產項目里非常常見做固件、驅動、散熱用例時一塊四槽集群板加上不同內存/存儲容量的CM4混合插調試效率比單槽載板高很多一個節點刷掛了大不了重插。2. 80美元基板背后的硬件架構這錢到底花在哪2.1 四槽位板子的核心組成部分市面上這類四槽CM4集群板雖然品牌不同但硬件架構大同小異。核心部件有這幾個四個CM4板對板連接器插槽用于插Compute Module 4電源輸入電路通常是一個12V DC接口加DC-DC降壓電路板載千兆交換機芯片負責四個節點與上行口的二層轉發每組節點一個M.2 M-Key插槽通常支持Gen3 x1 NVMe SSD40Pin GPIO引出排針方便接線調試每節點電源LED、狀態LED和一個復位按鍵供電是這類板子最需要重視的部分。CM4滿載時單顆功耗大概在5到7瓦四顆滿載就是20到28瓦考慮到M.2 SSD和交換芯片的功耗整板峰值功耗接近35到40瓦。用12V輸入的好處是電流只有3A左右對DC接口和線材的負擔比5V方案小很多。板上各節點使用獨立的DC-DC降壓電路把12V轉為5V供CM4使用各節點之間電源基本隔離。網絡部分板載交換芯片讓四個節點的千兆MAC非常方便地匯聚成一個上行口。我在用的時候把上行口接到主交換機整組四個節點在局域網里就像一個小型接入層設備不再需要外置交換機和四根長網線。需要注意的是一些廉價板子可能用百兆交換芯片買的時候一定認準千兆。2.2 為什么用CM4而不是樹莓派4B樹莓派Compute Module 4和樹莓派4B用的是同一顆BCM2711 SoC計算性能沒有差別。區別在于CM4是一顆模塊化的核心板尺寸大概只有一張名片大小55mm x 40mm沒有網口、USB、HDMI這類周邊接口只通過底部的金手指把GPIO、PCIe、HDMI、USB等信號全部引出。對集群板而言CM4這個形態有兩個巨大優勢。第一是體積密度四塊CM4加上底座整體占用的空間大概只有兩塊樹莓派4B疊起來那么大相同面積內計算核心數量翻倍。第二是靈活性同一塊集群板可以隨時更換不同配置的CM4比如四個節點用2GB版本跑K3s另外一個節點單獨插一塊8GB的版本作為管理節點這種混合配置在整機樹莓派方案里非常難實現。很多人問CM4的GPIO引腳圖和樹莓派4B是否一致。答案是基本一致的CM4底部的金手指同樣引出了40Pin GPIO包括I2C、SPI、UART、PWM等復用功能電氣電平同樣是3.3V。但要注意集群板上這些GPIO通常通過排針引出引出的順序在某些板子上可能不是標準的40Pin排針排列務必參考你板子的說明書和原理圖別默認拿樹莓派4B的引腳定義去直接接線這一點后面會細說。2.3 完整成本拆解80美元只是開始標題里Starts at $80很有迷惑性很多人以為80美元就能拿到四節點集群實際上這只是底板價格。我按當時市場行情做了一個成本清單方便你評估總預算部件參考價格說明四槽集群板約80美元裸板含電源配件的話另算CM4 2GB Lite x4約120-160美元按單顆30-40美元估算實際波動大M.2 NVMe SSD 256GB x4約80-120美元可選不上SSD可用SD卡或eMMC12V 5A電源適配器約15-25美元大廠品牌略貴但更穩散熱套件散熱片風扇約10-20美元強烈建議買合計約305-405美元不含TF卡和雜項對比樹莓派4B 4GB版本單價按60美元算四塊就是240美元加上四個電源、一個五口交換機、支架和風扇總成本接近300美元。兩者在硬件總價上其實能打個平手集群板方案勝在結構緊湊、運維方便樹莓派4B方案勝在單板可以獨立拿出來單獨用比如偶爾拔一塊出去做點別的實驗。具體怎么選看你更看重哪種使用方式。3. Compute Module 4怎么選內存、eMMC、WiFi、GPIO引腳一個都不能錯3.1 內存版本選多大合適CM4有1GB、2GB、4GB、8GB四個內存版本。做集群節點我建議至少2GB起步。如果跑K3s控制平面加工作節點如果都在這四顆里跑2GB節點勉強能跑但很緊張4GB會更從容單節點上可以多部署幾個Pod。如果只是跑Docker Swarm或者普通容器2GB就夠用了。我自己的方案是四顆全部用2GB Lite版加NVMe SSD跑K3s時把主節點和工作節點都在四節點上鋪開。實測跑起來內存基本在70%到80%部署一些輕量服務問題不大但如果要跑Ceph或者構建大型Java項目內存就會吃緊。3.2 eMMC版本和Lite版本怎么判斷CM4有帶eMMC和不帶eMMC兩種不帶eMMC的版本叫Lite版。Lite版沒有板載存儲必須從SD卡、NVMe或網絡啟動帶eMMC版本則可以直接把系統寫進eMMC里。給集群選型時我強烈建議優先考慮Lite版加M.2 NVMe。原因很簡單系統跑在NVMe上IO性能遠超eMMC軟件包安裝、容器拉取、日志寫入都明顯更快。還有一個非常現實的原因eMMC版燒錄系統比SD卡/NVMe麻煩需要在Windows/Linux上用rpiboot工具把CM4切換到USB mass storage模式對新手不太友好。Lite版在集群板上只要插一張TF卡或者從M.2 NVMe上的系統引導省心很多。3.3 帶不帶WiFi的版本怎么選CM4分無線版和無無線版。我在集群場景里堅決選無WiFi版。原因有幾個一是集群節點之間通信主要走有線網絡WiFi接口完全用不上二是無WiFi版的板載天線區域會空出來信號電路不存在理論功耗略低三是WiFi模塊在密集電磁環境下偶爾會爭搶天線資源干擾有線通信雖小但沒必要冒這個風險。當然如果某個節點需要臨時脫離集群網絡自己接入WiFi熱點那么帶無線版本就方便了。不過這種情況完全可以靠一塊USB無線網卡臨時解決沒必要為了這個場景給四顆CM4都上無線版。3.4 GPIO引腳圖才是最容易翻車的地方前面提到CM4的金手指引腳定義和樹莓派4B的40Pin排針是兼容的但這里有幾個實戰中特別容易踩的坑。CM4的GPIO不是像4B那樣從PCB頂部的排針引出而是從底部的板對板連接器上通過金手指引出的。在集群板上廠商會把GPIO信號接到板載排針但排針的物理排列順序不一定按樹莓派的40Pin標準走。有的板子做成兩排20Pin有的做成兩個單獨的接頭。我吃過一次虧拿到板子后默認按樹莓派標準40Pin布局接了一個I2C溫濕度傳感器結果SCL和SDA完全反了排查半天發現板子上GPIO排針第二腳并不是5V而是被設計成I2C的SDA。從那以后任何集群板到手我第一步永遠是去官網下載原理圖和管腳定義表拿萬用表測一下排針電壓再決定接線方式。GPIO的電氣特性也要注意CM4的GPIO是3.3V邏輯電平不是5V。如果接5V電平的外設必須加電平轉換模塊不然大概率燒壞GPIO引腳。板上如果同時有多個節點的GPIO排針還要確認所有節點是否共地不共地的話I2C/UART通信會出現隨機數據錯誤。4. 組裝與上電從裸板到四節點就緒的完整流程4.1 安裝CM4和散熱片第一步把四顆CM4從防靜電袋取出來先裝散熱片。CM4的SoC在PCB正面居中位置附帶的小散熱片用導熱硅膠或卡扣固定即可。我一般會額外加一個微型風扇對著整板吹只用散熱片的話連續高負載還是會熱到降頻。裝散熱片之后再插CM4到插槽上插之前先觀察金手指邊緣的定位缺口和板載插槽的凸臺方向對準后輕輕推到底然后壓下兩側的壓桿或卡扣。Tinker的時候千萬別用蠻力CM4的板對板連接器觸點很密歪著硬插很容易把金手指或插槽針腳弄壞。裝好之后可以順手檢查每顆CM4是否安裝到位看插槽卡扣是否完全固定。接著裝M.2 NVMe SSD。打開集群板背面的M.2固定螺絲把SSD斜著插入卡槽壓下后用螺絲固定。注意M.2插槽上的固定柱可能有多個孔位對應不同長度的SSD裝之前比一下長度別固定錯孔位把SSD壓彎。4.2 連接電源和上行網口集群板的電源接口通常是5.5mm DC接口部分板子也帶USB-C PD接口。用配套的12V電源適配器接上AC端DC端插入板子即可。第一次上電之前強烈建議先用萬用表確認DC接口輸出電壓極性中心正極、外圈負極是常見標準但個別板子可能不同。上行網口也就是Uplink口接到家里的主路由器或交換機上。此時理想情況下四個節點的網卡會各自從路由器的DHCP拿到一個IP地址。但上電前你大概率還沒給系統裝boot介質所以CM4現在還沒有系統自然不會有IP。這個階段的目的只是確認電源系統正常按一下每節點附近的復位鍵能看到對應的電源LED亮起。等所有LED正常亮起再把M.2 SSD如果已經裝好插好準備進入刷系統環節。如果這個階段就發現某個節點LED不亮檢查CM4是否插到位、散熱片有沒有頂到插槽以及電源適配器是否給力。4.3 第一次上電觀察供電和溫度上電后如果裝了系統可以登錄任意一個節點查看整板供電是否穩定。有幾點值得記錄用cat /sys/class/thermal/thermal_zone0/temp查看CPU溫度剛上電待機應該在40到50攝氏度用vcgencmd measure_volts core查看核心電壓是否穩定同時用dmesg | grep -i error看看有沒有硬件相關報錯。如果整板四個節點同時高負載供電紋波偏大會導致個別節點隨機重啟。我遇到過一次當時換了個便宜電源適配器標稱12V/3A實際四個節點跑編譯任務時一個節點反復重啟換回12V/5A的電源后問題消失。供電問題非常隱蔽排查時建議直接換一個大功率電源測試別一開始就懷疑系統配置。5. 四節點集群的軟件初始化燒錄、網絡規劃、SSH免密與Ansible批量配置5.1 系統鏡像選擇與燒錄方式CM4能跑的系統很多做集群我推薦Raspberry Pi OS Lite 64位、Ubuntu Server for ARM、DietPi這三個。Raspberry Pi OS Lite最省心官方維護好Ubuntu Server對現代容器工具鏈更友好DietPi自帶不少優化腳本適合小內存節點。Lite版CM4如果走TF卡用樹莓派官方Imager直接燒錄鏡像到TF卡非常省事。如果走M.2 NVMe比較復雜因為BootROM默認不會從PCIe NVMe啟動需要先把系統寫到TF卡啟動然后更新bootloader的BOOT_ORDER或者使用rpiboot工具通過USB連接CM4配置啟動順序。說實話每次給M.2寫系統都比較折騰我習慣是先在TF卡上燒好系統啟動后把系統完整復制到NVMe或者直接用rpi-eeprom-update讓bootloader支持NVMe啟動。5.2 四節點網絡規劃別靠路由器DHCP硬分四個節點啟動后默認都從路由器DHCP拿IPIP地址的分配順序取決于誰先啟動非常不固定。做集群必須固定IP兩種常用方式在路由器后臺給四個MAC地址綁定固定IP或者在系統里配置靜態IP。個人推薦直接在系統層配靜態IP這樣換網絡環境也不會失效。規劃一個簡單的內網網段比如管理網絡用192.168.10.0/24節點1管理地址192.168.10.11節點2管理地址192.168.10.12節點3管理地址192.168.10.13節點4管理地址192.168.10.14集群上行口網關192.168.10.1配置方式編輯/etc/dhcpcd.conf加入interface eth0 static ip_address192.168.10.11/24 static routers192.168.10.1 static domain_name_servers192.168.10.1改完重啟網絡或直接重啟節點等四個節點都通了再繼續。5.3 開通SSH并配置免密登錄每一張燒錄好的TF卡第一次啟動前在boot分區創建空白ssh文件就能開啟SSH。首次登錄用pi用戶默認密碼是raspberry但強烈建議登錄后馬上執行passwd改密碼。四個節點一個一個做太累我的做法是先在節點1上生成密鑰對ssh-keygen -t ed25519然后把公鑰復制到其他節點ssh-copy-id pi192.168.10.12。做完之后本地主機也可以把公鑰依次拷貝到四個節點之后管理節點、節點之間互通全部免密。注意ssh-copy-id第一次會提示輸入密碼后面就全自動了。5.4 用Ansible把四節點配置成統一狀態四節點的系統配置如果一個個手動改配置漂移是早晚的事。所以我在四節點基礎裝完系統后立刻用Ansible做統一初始化包括修改hostname、更新軟件源、安裝常用工具、關閉閃爍無關的服務等。寫一個簡單的inventory文件hosts.ini[cluster] node1 ansible_host192.168.10.11 node2 ansible_host192.168.10.12 node3 ansible_host192.168.10.13 node4 ansible_host192.168.10.14 [cluster:vars] ansible_userpi ansible_becomeyes再寫個最小化的playbookinit.yml- hosts: cluster tasks: - name: 更新軟件源 apt: update_cache: yes - name: 安裝常用工具 apt: name: - git - htop - vim - curl - ca-certificates state: present - name: 關閉無用的藍牙服務可選 systemd: name: bluetooth state: stopped enabled: no執行ansible-playbook -i hosts.ini init.yml四個節點一次性完成初始化整個過程比手動操作省至少半小時。后續要給所有節點裝Docker、裝K3s的agent也都是Playbook的事。6. 四節點集群能跑什么K3s、Ceph、監控與HomeLab服務的實測6.1 用K3s把四節點變成迷你Kubernetes集群四節點ARM集群最常跑的負載就是Kubernetes。樹莓派上直接裝傳統K8s非常臃腫內存占用大K3s是Rancher推出的輕量版K8s把etcd替換成內嵌的SQLite或嵌入式etcd默認用containerd運行時特別適合樹莓派。安裝K3s很簡單在第一個節點我先定為192.168.10.11curl -sfL https://get.k3s.io | sh -安裝完成后在服務端節點查看tokensudo cat /var/lib/rancher/k3s/server/node-token然后在剩下三個節點上執行curl -sfL https://get.k3s.io | K3S_URLhttps://192.168.10.11:6443 K3S_TOKEN你的token sh -大約一分鐘后在管理節點執行kubectl get nodes能看到四個節點全部Ready。實測在2GB內存的CM4節點上K3s的kube-system相關Pod占內存約300MB到400MB2GB內存還能剩1GB多給業務容器跑但如果要在同一節點跑Ceph或大型數據庫還是會緊張。一個小建議K3s服務端默認的Pod數限制和Service數限制在集群板上可以適當調低/etc/rancher/k3s/config.yaml里加上max-pods: 50避免資源競賽。6.2 千萬別對Ceph抱太大期望除非你只是想學習樹莓派集群跑Ceph是很多人的執念我也試過。結論是能跑但性能非常有限。CM4的NVMe是通過PCIe Gen3 x1連接到SoC的單盤持續讀寫能跑到500MB/s上下看起來還行。但Ceph的副本寫入會同時寫多個節點多副本疊加后網絡變成瓶頸千兆網的限制大約125MB/s所以性能遠不如單機磁盤。加上內存只有2GBOSD進程、Mon進程、MGR進程一擁而上很容易OOM。如果只是想學Ceph的部署思路、CRUSH map原理、故障域設計四節點集群完全夠用建議每個節點只跑一個OSDpool的size設為2min_size設為1至少不會讓所有節點都忙起來。如果對性能有實際要求樹莓派集群確實不合適直接用一臺二手x86服務器加幾塊大容量HDD更靠譜。6.3 監控全家桶Prometheus Grafana集群跑起來之后監控是必需品。四節點CM4資源本就緊張監控全家桶也要輕量化。我在管理節點上部署了Prometheus四個節點都裝了node_exporter。安裝方式很簡單下載ARM64版本的二進制包wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-arm64.tar.gz tar xvf node_exporter-1.7.0.linux-arm64.tar.gz sudo mv node_exporter-1.7.0.linux-arm64/node_exporter /usr/local/bin/配置systemd服務讓node_exporter開機自啟然后在Prometheus配置里把四個節點的9100端口作為target加入。Grafana同樣裝ARM64版開一個Dashboard模板就能看到CPU、內存、磁盤、網絡、溫度等實時數據。實測Prometheus本機內存占用約200MBGrafana約150MB在2GB節點上屬于可接受范圍但盡量讓Grafana和Prometheus跑在同一個節點最好不要和業務容器搶太多內存。6.4 更接地氣的Homelab玩法如果你的K3s還沒完全玩轉或者根本不需要K8s四個樹莓派節點還有一堆更接地氣的玩法Pi-hole在其中一個節點部署Pi-hole做全網DNS過濾廣告攔截效果立竿見影Nginx反向代理四個節點分別部署Web服務用Nginx做負載均衡或反向代理模擬一個微型網關Uptime Kuma監控家里其他服務NAS、路由器、各類Web應用的在線狀態Alert通知到TelegramGitea輕量Git服務代碼倉庫放在集群里比單一樹莓派多一份冗余分布式爬蟲Scrapy或Playwright多節點并行抓取四個節點的并發能力比單機強很多7. 實測中的關鍵排障與避坑記錄7.1 供電不足導致節點反復重啟我最初用的是某個第三方12V/3A電源適配器待機時一切正常四顆CM4同時跑apt upgrade并且四個編譯任務并行時節點一個接一個重啟重災區是離電源接口最遠的那個槽位。查了半天確認不是CPU過熱、不是SSD故障最終懷疑是供電不足。換成12V/5A的明緯工業電源后問題徹底消失。原因很直觀CM4在跑編譯任務時瞬時功耗能沖到5W以上四顆加SSD一起瞬態電流可能超過3A而廉價適配器的電壓調整率太差帶載后電壓跌落幅度大。集群板上的DC-DC降壓電路雖然有穩壓能力但輸入電壓跌落太多輸出自然穩不住。給集群板配電源建議直接選12V/5A及以上、紋波小的品牌電源不要省這幾十塊錢。如果板子支持也可以考慮PD誘騙頭配合大功率PD充電器。判斷供電是否正常可以在高負載時用萬用表測DC接口電壓如果低于11.5V就說明電源太弱。7.2 散熱沒做好四顆SoC集體降頻CM4的SoC和樹莓派4B一樣超過85攝氏度會觸發降頻。四顆CM4密集分布在一塊板上散熱空間有限單純靠散熱片無風扇高負載下SoC溫度穩定在85度以上直接降頻到900MHz性能打折非常明顯。我最終的散熱方案是每顆CM4貼一塊帶小風扇的散熱器整板上方再加一個低速大風量風扇讓空氣從一側進、另一側出形成貫穿式風道。改造后高負載時機箱內溫度大概45度SoC溫度能壓在65度左右性能明顯穩定。如果你不想上風扇至少要保證機箱通風孔足夠大否則長時間跑容器任務等待你的就是頻繁降頻。7.3 eMMC和NVMe的啟動順序坑Lite版CM4配合NVMe SSD啟動時最常踩的坑是BOOT_ORDER默認不包含PCIe。第一次插上帶系統的NVMe開機后毫無反應顯示器黑屏如果有接HDMI日志也沒有。原因在于新版bootloader雖然支持NVMe啟動但需要把BOOT_ORDER里加一個2代表PCIe。方法是在一個能啟動的Linux環境里運行sudo rpi-eeprom-config --edit把BOOT_ORDER改成類似0xf26這樣的值或者使用raspi-config的更新引導器選項然后重啟。改完保存后NVMe就能作為啟動設備了。不過要注意不同的eMMC版本和bootloader版本默認值不一樣還是得看當前配置別盲改。7.4 GPIO排針方向和電平問題前面提過GPIO排針排列不一定和樹莓派4B一致這里再補充一個常見坑板子上的GPIO排針可能沒有絲印標注引腳序號或者標注得很小。拿到板子先用萬用表測排針的5V和3.3V引腳位置確定第1腳方向。如果你外接傳感器出現讀數全零或者漂移大概率是SDA/SCL接反了或者共地沒做好。另外做GPIO實驗時建議先用簡單的LED點燈驗證引腳編號別直接接高價值外設。我習慣用BCM編號寫代碼比如GPIO17對應排針第11腳標準40Pin定義但在集群板上需要先對照原理圖確認這個物理位置是否真的連到了CM4的GPIO17。8. 個人體會和后續擴展方向這套四槽集群板加四顆CM4的組合我跑了快半年最大的感受就是樹莓派集群的性能天花板其實不高它最大的價值是給了你一個低成本、高密度、貼近真實服務器拓撲的實驗環境。K3s的調度邏輯、Prometheus的采集體系、Ansible的批量管理這些在普通單板機上也能學但只有多節點環境下才能體會到節點故障、網絡分區、資源調度這些概念到底是怎么回事。如果后續想繼續擴展我會考慮這幾個方向加一塊USB轉串口模塊把四節點的serial console接出來方便內核層面調試用Power over EthernetPoEHAT替代DC供電進一步簡化布線搭一個基于K3s的GitOps流水線用Flux或Argo CD自動同步Git倉庫里的應用配置把其中兩個節點遷移到Ubuntu Server測試跨操作系統集群的兼容性最后再分享一個實際運維中的小技巧因為四個節點經常要同時執行同樣的命令我在本機配置了~/.ssh/config把node1到node4分別加上Host別名再寫了一個簡單的cl函數直接cl hostname就能在所有節點上并行執行命令省去了循環SSH的麻煩。具體就是一段不足十行的shell函數配合pssh或者Ansible的ad-hoc命令日常管理和巡檢效率提升非常明顯。