使用默认的 Compose Bridge 转换

实验的

Compose Bridge 是一款实验性产品。

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

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

它还提供专用于 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 清单在 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

下一步是什么?