使用默认的 Compose Bridge 转换

实验的

Compose Bridge 是一款实验性产品。

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

  • 一个 Namespace,因此您的所有资源都是隔离的,并且不会与其他部署中的资源冲突。
  • 一个 ConfigMap,其中包含 Compose 应用程序中的每个 config 资源的条目。
  • 应用程序服务的部署。这可确保在 Kubernetes 集群中维护指定数量的应用程序实例。
  • 服务公开的端口的服务,用于服务到服务的通信。
  • Services 的端口,其中包含 type,以便 Docker Desktop 也将在主机上公开相同的端口。LoadBalancer
  • 网络策略来复制文件中定义的网络拓扑。compose.yaml
  • PersistentVolumeClaims 的卷,使用存储类,以便 Docker Desktop 管理卷创建。hostpath
  • 密钥编码的密钥。这是为在测试环境中本地使用而设计的。

它还提供专用于 Docker Desktop 的 Kustomize 覆盖层:

  • Loadbalancer适用于需要在主机上公开端口的服务。
  • A 使用 Docker Desktop 存储预置程序更有效地处理卷预置。PersistentVolumeClaimdesktop-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 清单在 Kubernetes 上运行应用程序 标准部署命令 .kubectl apply -k out/overlays/desktop/

注意

在部署 Compose Bridge 转换之前,请确保已在 Docker Desktop 中启用 Kubernetes。

如果要转换位于其他目录中的文件,可以运行:compose.yaml

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

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

$ compose-bridge convert --help

提示

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

确保您已登录 Docker 账户,在 Containers 视图中导航到您的容器,然后在右上角选择 View configurations (查看配置),然后选择 Convert and Deploy to Kubernetes

下一步是什么?