教你如何将应用从docker-compose迁移到k8s中

公司之前有一些应用是通过docker-compose部署,最近领导让我将其迁移到k8s中。我已经初步完成任务,现记录其操作过程,分享给各位朋友。

工具推荐

当我接到这个任务,我的第一感觉是要参考docker-compose.yaml中的信息,手写一套k8s的yaml部署文件。这样当然是可行的,但是效率比较低,且需要同时熟悉docker-compose和k8s的yaml文件的结构。
后来我发现了一个专门的迁移工具,可方便地通过docker-compose.yaml自动生成k8s的yaml部署文件。这个工具就是kompose,现已经被k8s官方文档收录:https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/translate-compose-kubernetes/ 。

操作步骤

安装kompose

注意:仅需要下载安装kompose。运行环境中可以没有docker,也无需kubectl。

curl -L https://github.com/kubernetes/kompose/releases/download/v1.24.0/kompose-linux-amd64 -o kompose
chmod +x kompose
sudo mv ./kompose /usr/local/bin/kompose

转换yaml

在docker-compose.yaml所在的路径下运行kompose convert命令进行转换。如下图所示:

教你如何将应用从docker-compose迁移到k8s中_第1张图片

调整

将新生成的系列文件复制到到本地计算机进行调整。生成的yaml文件中自动填入了不少带kompose字样的标签和注解,可以将其替换。您可能还需要根据实际需求调整与网络相关的yaml文件。

教你如何将应用从docker-compose迁移到k8s中_第2张图片

部署到k8s

调整好yaml文件后,就可以在k8s部署。在本示例中,我为了操作方便,将所有的内容写到了一个yaml文件中。如下图所示。

教你如何将应用从docker-compose迁移到k8s中_第3张图片

教你如何将应用从docker-compose迁移到k8s中_第4张图片

到此这篇关于如何将应用从docker-compose迁移到k8s中的文章就介绍到这了,更多相关docker compose迁移到k8s内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(教你如何将应用从docker-compose迁移到k8s中)