使用默认的 Compose Bridge 转换
目录
可用性: 实验性
Compose Bridge 为您的 Compose 配置文件提供了开箱即用的转换。基于任意 compose.yaml
文件,Compose Bridge 生成
- 一个 命名空间,以便您的所有资源都得到隔离,并且不与其他部署的资源发生冲突。
- 一个 ConfigMap,其中包含 Compose 应用程序中每个配置资源的条目。
- 用于应用程序服务的Deployment。这确保了您的应用程序指定数量的实例在 Kubernetes 集群中得到维护。
- 用于服务暴露端口的Service,用于服务间通信。
- 用于服务发布端口的Service,类型为
LoadBalancer
,以便 Docker Desktop 也能在主机上暴露相同的端口。 - 用于复制
compose.yaml
文件中定义的网络拓扑的Network Policy。 - 用于卷的PersistentVolumeClaim,使用
hostpath
存储类,以便 Docker Desktop 管理卷创建。 - 包含您编码密钥的Secret。这旨在用于本地测试环境。
它还提供了一个专用于 Docker Desktop 的 Kustomize overlay,其中包含
- 为需要在主机上暴露端口的服务提供的
Loadbalancer
。 - 一个
PersistentVolumeClaim
,用于使用 Docker Desktop 存储 provisionerdesktop-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 manifest,通过标准部署命令 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 并部署。