私信运维笔谈,回复 “阿里云k8s” 可以获取 《阿里云Kubernetes项目实战手册.pdf》”。
为了方便快捷,我们有不少应用是docker-compose来快速拉起的,如何把这些docker-compose启动的应用快速迁移到kubernetes环境里呢?靠我们手写yaml还是挺累的。
推荐一款转换工具:kompose。Kompose 是一个开源工具,由 Red Hat 开发并维护,旨在简化从 Docker Compose 文件向 Kubernetes 资源对象(如 Deployment、Service 等)的转换过程。
kompose logo
GitHub地址:https://github.com/kubernetes/kompose
官网地址:https://kompose.io/
1.安装kompose这里我们推荐直接下载二进制文件(Go直接编译之后的可执行文件)。
# Linuxcurl -L https://github.com/kubernetes/kompose/releases/download/v1.34.0/kompose-linux-amd64 -o kompose# Linux ARM64curl -L https://github.com/kubernetes/kompose/releases/download/v1.34.0/kompose-linux-arm64 -o kompose# macOScurl -L https://github.com/kubernetes/kompose/releases/download/v1.34.0/kompose-darwin-amd64 -o kompose# macOS ARM64curl -L https://github.com/kubernetes/kompose/releases/download/v1.34.0/kompose-darwin-arm64 -o komposechmod +x komposesudo mv ./kompose /usr/local/bin/kompose假如是Centos,并且安装了epel-release,我们还直接yum安装即可:
sudo yum -y install kompose2.添加kompose的bash自动扩展# Bash (添加到文件 .bashrc)source <(kompose completion bash)kompose completion fish | source3.Kompose架构图4.简单使用实例我们以memos这个应用的docker-compose.yml为例:
version: "3"services: memos: image: ghcr.io/usememos/memos:0.22.2 restart: unless-stopped ports: - 5230:5230 volumes: - ./memos/:/var/opt/memos我们执行下转换命令:
kompose convert -f docker-compose.yml根据docker-compose.yml内容,自动生成了deployment,service和pvc三个yaml,pv需要自行处理。
Kompose还支持生成helm chart文件,参考命令如下:
kompose convert --chart -f docker-compose.yml -o my-helm-chart更多的功能和发现,我们可以使用kompose --help命令,大佬们可以下载下来自行体验吧。
如果您在日常运维工作中遇到了任何问题或挑战,无论是关于系统配置、性能优化、故障排除还是其他方面,都欢迎您随时留言或私信我。我会尽我所能为您提供解决方法或建议。相互学习,积累更多的经验和知识。私信回复 “阿里云k8s” 可以获取《阿里云Kubernetes项目实战手册》。