Docker

在沒有集群的同構設備上使用 docker swarm 部署

  • June 20, 2020

是否可以使用 docker swarm 在同構設備上部署 docker 容器?對於集群,答案應該是肯定的。但 IOT 設備沒有內部連接,除了圖像之外,彼此之間沒有任何關係。

如果有辦法使用 docker swarm(或 Kubernetes)來實現,工作流程會是什麼?如果其他技術在那裡,將很高興聽到建議。

  • 使用dockergitlab的****連續 ci可以滿足您的需求,因為您在 gitlab 中建構圖像並僅通過 cron 或其他方法部署,並且設備可以是“被動的”(在 nat 之後,您不能發送命令)https://www. taniarascia.com/continuous-integration-pipeline-docker/
  • 由於您不需要集群,因此一種解決方案是使用Docker 上下文並將它們的遠端伺服器添加為上下文 → 您需要 VPN 或 ssh 以通過 TCP/Socket 訪問 docker 守護程序
  • 如果您建構VPN (第 2 層或第 3 層,所有 IP 必須“看到”彼此)或使用公共 IPv4/IPv6,那麼您實際上可以使用 docker swarm 並在每台機器上啟動不受 swarm 控制的 docker 服務,因為它有一個碼頭插座。您也可以將每台機器作為管理器,當然您可以決定綁定服務的外部 ip/埠(在使用標籤設置它在哪個機器/機器類型上執行之後)
  • 要在 nat 後面啟用 ssh 並手動部署,您可以使用 tor:https ://www.howtoforge.com/anonymous-ssh-sessions-with-tor
  • 為防止打開套接字,您可以使用 ssh+local port forward 或 ssh+socat 轉發 unix socket
  • 物聯網不一定是殭屍網路,但許多設備只是實施不當或間諜軟體,將所有數據發送到他們的雲,例如打開/關閉燈

引用自:https://serverfault.com/questions/1020807