Juw*_*wan 5 docker kubernetes docker-compose
我正在尝试将现有的部署逻辑/切换为 kubernetes(我的服务器位于 gcp 中,到目前为止我使用 docker-compose 来运行我的服务器。)所以我决定首先使用kompose我现有的 docker- 来使用和生成服务/部署撰写文件。运行后
kompose --file docker-compose.yml convert
#I got warnings indicating Volume mount on the host "mypath" isn't supported - ignoring path on the host
Run Code Online (Sandbox Code Playgroud)
经过一番研究后,我决定使用下面的命令来“修复”问题
kompose convert --volumes hostPath
Run Code Online (Sandbox Code Playgroud)
这个命令实现的是 -> 它将使用第一个命令生成的持久卷声明替换为下面的代码。
volumeMounts:
- mountPath: /path
name: certbot-hostpath0
- mountPath: /somepath
name: certbot-hostpath1
- mountPath: /someotherpath
name: certbot-hostpath2
- hostPath:
path: /path/certbot
name: certbot-hostpath0
- hostPath:
path: /path/cert_challenge
name: certbot-hostpath1
- hostPath:
path: /path/certs
name: certbot-hostpath2
Run Code Online (Sandbox Code Playgroud)
但由于我在本地机器上工作
kubectl apply -f <output file>
Run Code Online (Sandbox Code Playgroud)
结果是与服务器 localhost:8080 的连接被拒绝 - 您指定了正确的主机或端口吗?我不想将本地环境与 gcp 连接只是为了生成必要的文件,这是必须的吗?或者我可以将其移至startup-gcp 等
我觉得我的方向是正确的,但我需要确认我没有搞砸什么。
1)我的产品数据库中只有一个计算引擎(VM 实例)和大量数据。“我如何”/“我需要”确保我不会通过做某事丢失数据库中的任何数据?2)在startup-gcp中,在完成其他所有操作(修剪docker镜像等)后,我有一个docker run命令,它使用docker/compose 1.13.0 up -d. 我应该如何更改它以切换到 kubernetes?3)我是否应该更改任何内容, nginx.conf 因为它引用了我的 docker-compose 中的 2 个不同服务(我认为我不应该,因为 kubernetes 生成的 yaml 中也存在相同的服务)
小智 2
您应该考虑使用持久卷声明 (PVC)。如果您的集群是托管的,则在大多数情况下它可以自动为您创建 PersistentVolume。
创建与 docker compose 文件相对应的持久卷声明的一种方法是使用 Move2Kube(https://github.com/konveyor/move2kube)。您可以下载该版本并将其放置在路径中并运行:
move2kube translate -s <path to your docker compose files>
Run Code Online (Sandbox Code Playgroud)
然后它会以交互方式允许您配置 PVC。
如果您有一个目标特定集群,则可以在已将 kubernetes 集群设置为 kubectl 上下文的终端中使用以下命令获取该集群支持的特定存储类。
move2kube collect
Run Code Online (Sandbox Code Playgroud)
一旦完成收集,您将拥有一个 m2k_collect 文件夹,然后您可以将其放置在 docker compose 文件所在的文件夹中。当您运行 move2kube translate 时,它会自动询问您是否针对此特定集群,以及从该集群中选择存储类别的选项。
1)我的产品数据库中只有一个计算引擎(VM 实例)和大量数据。“我如何”/“我需要”确保我不会通过做某事丢失数据库中的任何数据?
配置 PVC 后,您可以使用 kubectl cp 命令将数据复制到 PVC 到挂载 PVC 的 pod 中。
2)在startup-gcp中,在完成其他所有操作(修剪docker镜像等)后,我有一个docker run命令,它使用docker/compose 1.13.0 up -d。我应该如何更改它以切换到 kubernetes?
您可以将其更改为使用舵图。Move2Kube,在交互式会话期间,也可以帮助您创建 Helm Chart。有了 helm 图表后,您所要做的就是“helm update -i
3)我是否应该更改 nginx.conf 中的任何内容,因为它引用了我的 docker-compose 中的 2 个不同服务(我认为我不应该,因为 kubernetes 生成的 yaml 中也存在相同的服务)
如果服务名称在大多数情况下都是名称,那么它应该可以工作。
| 归档时间: |
|
| 查看次数: |
3900 次 |
| 最近记录: |