亲宝软件园·资讯

展开

docker compose迁移到k8s

农民工老王 人气:0

公司之前有一些应用是通过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命令进行转换。如下图所示:

请添加图片描述

调整

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

部署到k8s

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

请添加图片描述

请添加图片描述

加载全部内容

相关教程
猜你喜欢
用户评论