使用默认的Compose Bridge转换

实验性

Compose Bridge 是一个 实验性 产品。

Compose Bridge 为您的 Compose 配置文件提供了一个开箱即用的转换。基于任意的 compose.yaml 文件,Compose Bridge 生成:

  • A 命名空间 这样你的所有资源都是隔离的,不会与其他部署的资源发生冲突。
  • A ConfigMap 为您的Compose应用程序中的每个 config 资源提供一个条目。
  • 部署 用于应用程序服务。这确保了在Kubernetes集群中维护指定数量的应用程序实例。
  • 服务 用于服务暴露的端口,用于服务间的通信。
  • 服务 用于由您的服务发布的端口,类型为 LoadBalancer,以便 Docker Desktop 也会在主机上暴露相同的端口。
  • 网络策略 以复制您在 compose.yaml 文件中定义的网络拓扑。
  • PersistentVolumeClaims 用于您的卷,使用 hostpath 存储类,以便 Docker Desktop 管理卷的创建。
  • Secrets 使用你的秘密编码。这是为在测试环境中本地使用而设计的。

它还提供了一个专门用于Docker Desktop的Kustomize覆盖层,包含以下内容:

  • Loadbalancer 用于需要在主机上暴露端口的服务。
  • 使用PersistentVolumeClaim来利用Docker Desktop存储提供程序desktop-storage-provisioner更有效地处理卷配置。
  • 一个Kustomize文件,用于将所有资源链接在一起。

使用默认的Compose Bridge转换

要使用默认转换,请运行以下命令:

$ compose-bridge convert

Compose 在当前目录中查找 compose.yaml 文件,然后将其转换。

显示以下输出

$ 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文件,你可以运行:

$ compose-bridge convert -f <path-to-file>/compose.yaml 

要查看所有可用的标志,请运行:

$ compose-bridge convert --help

提示

您现在可以从Compose文件查看器中转换并将您的Compose项目部署到Kubernetes集群。

确保您已登录到您的Docker帐户,导航到容器视图中的容器,并在右上角选择查看配置,然后选择转换并部署到Kubernetes

接下来是什么?