【发布时间】:2022-01-10 01:26:02
【问题描述】:
我的组织管理系统,其中每个客户端都配置了一个 VPS,然后他们的技术堆栈通过 Docker Compose 在该系统上启动。
数据使用 Docker Compose 卷存储在系统上。没有花哨的命名存储 - 只是很好的旧直接路径卷。
虽然此解决方案可行,但问题是此方法无法扩展。我们总是可以给 VPS 更多的 CPU/内存,但这并不能解决根本问题。
暂存/开发环境必须手动启动 - 并且没有服务冗余。我们目前的系统不可能进行热插拔。
Kubernetes 已向我推荐来解决我们的问题,但老实说,我不知道从哪里开始 - 大多数文档都很迟钝,而且我找不到遇到我们特殊困境的人。
最终目标是只拥有几台运行 Kubernetes 的高规格机器 - 具有冗余、分段以及根据需要启动新客户端的能力(无需配置额外的机器或外部 IP)。
我的组织需要使用哪些特定工具来实现这一目标?
是否有任何工具可以让我们将现有的 Docker Compose 堆栈引入 Kubernetes?
【问题讨论】:
-
Kompose 可能是尝试将 Compose 设置迁移到 Kubernetes 的最突出的工具,但它似乎只能让你达到 80%,而且你仍然需要真正了解 Kubernetes 才能涵盖最后一个20%。
-
我们曾经/现在处于相同的情况(EC2 实例与 docker-compose 部署),并增加了对 kubernetes 部署的支持。我通过使用
helm包管理器(可能不是最好的方法)开始了学习曲线,以了解如何将应用程序部署到 kubernetes、创建的对象以及helm create以创建自己的自定义图表。如果您的卷是共享的,您将无法使用主机挂载,需要考虑使用例如NFS(或其他支持ReadWriteMany的存储)。
标签: docker kubernetes docker-compose