Docker 堆栈到 Kubernetes
Docker stack to Kubernetes
我对Docker相当熟悉,但我对Kubernetes零经验。
我有一个 Docker stack(多容器)软件,我可以将其部署在 Docker swarm 集群中。我想知道 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 中模拟这一点,您需要在同一个文件中定义多个 deployments/services,以便它们可以作为单个 'stack'.
创建和删除
我对Docker相当熟悉,但我对Kubernetes零经验。
我有一个 Docker stack(多容器)软件,我可以将其部署在 Docker swarm 集群中。我想知道 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 中模拟这一点,您需要在同一个文件中定义多个 deployments/services,以便它们可以作为单个 'stack'.
创建和删除