在没有集群的同类设备上使用docker swarm进行部署

在没有集群的同类设备上使用docker swarm进行部署

是否可以使用 docker swarm 在同类设备上部署 docker 容器?对于集群来说,答案应该是肯定的。但是物联网设备内部没有连接,除了图像之外,彼此之间没有任何关系。

如果有办法使用 docker swarm(或 Kubernetes)来实现,工作流程会是怎样的?如果有其他技术,很乐意听取建议。

答案1

  • 连续ci码头工人GitLab可以满足您的需求,因为您在 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服务,因为它有一个docker套接字。你也可以将每台机器作为管理器,当然你决定将服务绑定到哪个外部 IP/端口(使用标签设置它在哪台机器/机器类型上运行之后)
  • 要在 nat 后面启用 ssh 并手动部署,您可以使用 tor:https://www.howtoforge.com/anonymous-ssh-sessions-with-tor
  • 为了防止打开套接字,您可以使用 ssh+本地端口转发或 ssh+socat 来转发 unix 套接字
  • 物联网不一定是僵尸网络,但许多设备只是实施不当或间谍软件,将所有数据发送到云端,例如打开/关闭灯

相关内容