我对 Docker 很熟悉,但我对 Kubernetes 的经验为零。
我有一个 Docker 堆栈(多容器(软件,可以部署在 Docker 群集群中。我想知道 Kubernetes 是否有类似的东西?我不需要副本、自动缩放等...我只需要一组容器及其在单个文本文件中定义的依赖项和网络一起工作。
我搜索并找到了一个名为kompose的工具,该工具可以将Docker堆栈文件转换为Kubernetes语法...但是,看起来输出是*.yaml
文件的列表,而不是单个文件。
所以,我得出的结论是 kubernetes 没有这个确切的功能。我错过了什么吗?
您可以将生成的文件的内容复制到一个文件中,并用---
分隔它们。
例如,如果您有 3 个 Kubernetes 文件:service.yml
、deployment.yml
和configmap.yml
,您的文件应如下所示:
# content of service.yml
....
---
# content of deployment.yml
....
---
# content of configmap.yml
....
您将使用相同的kubectl
命令来使用此规范文件进行 CRUD。
单个"Docker Stack"yml 定义相当于 Kubernetes 部署和服务的集合。Docker 堆栈定义中的每个服务也可以通过 docker 在部署时自动创建的默认覆盖网络相互使用。要在 Kubernetes 中模拟这一点,您需要在同一文件中定义多个部署/服务,以便可以将它们作为单个"堆栈"创建和删除。