使用默认的 Compose Bridge 转换
目录
Compose Bridge 为您的 Compose 配置文件提供开箱即用的转换。基于任意 compose.yaml 文件,Compose Bridge 生成:
- 一个 命名空间,以便您的所有资源都被隔离,并且不与其他部署的资源冲突。
- 一个 ConfigMap,其中包含 Compose 应用程序中每个 配置 资源的条目。
- 应用程序服务的 部署。这确保了您的应用程序的指定实例数量在 Kubernetes 集群中得以维护。
- 用于服务暴露端口的 服务,用于服务间通信。
- 用于服务发布端口的 服务,类型为
LoadBalancer,以便 Docker Desktop 也会在主机上暴露相同的端口。 - 网络策略,以复制您
compose.yaml文件中定义的网络拓扑。 - 您的卷的 PersistentVolumeClaims,使用
hostpath存储类,以便 Docker Desktop 管理卷的创建。 - 包含您编码的秘密的 Secrets。这旨在用于测试环境中的本地使用。
它还提供了一个专门用于 Docker Desktop 的 Kustomize 覆盖,包括:
- 需要暴露主机端口的服务的
LoadBalancer。 - 一个
PersistentVolumeClaim,用于使用 Docker Desktop 存储提供程序desktop-storage-provisioner更有效地处理卷供应。 - 一个 Kustomize 文件,用于将所有资源链接在一起。
使用默认的 Compose Bridge 转换
要使用默认转换,请运行以下命令:
$ docker compose bridge convert
Compose 在当前目录中查找 compose.yaml 文件,然后将其转换。
成功后,Compose Bridge 生成 Kubernetes 清单并记录类似于以下内容的输出:
$ docker compose bridge convert -f compose.yaml
Kubernetes resource api-deployment.yaml created
Kubernetes resource db-deployment.yaml created
Kubernetes resource web-deployment.yaml created
Kubernetes resource api-expose.yaml created
Kubernetes resource db-expose.yaml created
Kubernetes resource web-expose.yaml created
Kubernetes resource 0-avatars-namespace.yaml created
Kubernetes resource default-network-policy.yaml created
Kubernetes resource private-network-policy.yaml created
Kubernetes resource public-network-policy.yaml created
Kubernetes resource db-db_data-persistentVolumeClaim.yaml created
Kubernetes resource api-service.yaml created
Kubernetes resource web-service.yaml created
Kubernetes resource kustomization.yaml created
Kubernetes resource db-db_data-persistentVolumeClaim.yaml created
Kubernetes resource api-service.yaml created
Kubernetes resource web-service.yaml created
Kubernetes resource kustomization.yaml created
这些文件随后存储在您的项目中的 /out 文件夹中。
然后可以使用 Kubernetes 清单,通过标准部署命令 kubectl apply -k out/overlays/desktop/ 在 Kubernetes 上运行应用程序。
重要在部署 Compose Bridge 转换之前,请确保您已在 Docker Desktop 中启用 Kubernetes。
如果要转换位于其他目录中的 compose.yaml 文件,可以运行:
$ docker compose bridge convert -f <path-to-file>/compose.yaml
要查看所有可用标志,请运行:
$ docker compose bridge convert --help
提示您可以从 Compose 文件查看器将 Compose 项目转换并部署到 Kubernetes 集群。
确保您已登录 Docker 账户,导航到“**容器**”视图中的容器,然后在右上角选择“**查看配置**”,然后选择“**转换并部署到 Kubernetes**”。