背景
用 kubernetes 代替 docker-compose
环境:Macbook pro, Monterey 系统, 单机版 kubernetes
准备工作
- 安装 docker-desktop mac 版,开启 kubernetes 支持安装
- 安装 kubernetes 完成,检查 kubectl 命令行工具是否安装成功
- 可安装可视化 kubernetes 面板,mac 推荐 Lens. 易用性好于官方的 kubernetes dasbboard
开始转换
- 准备好 docker-compose.yml 文件
- 安装 kompose 工具 https://github.com/kubernetes/kompose
- 在当前目录执行命令
kompose convert --volumes hostPath
生成一堆 用于生成 pod 的 yaml 文件。例如 mysql 镜像会生成mysql-deployment.yaml
和mysql-service.yaml
的两个文件 - 执行命令
kubectl apply -f mysql-deployment.yaml,mysql-service.yaml
即可发布成 pod 到 kubernetes - 在 Lens 上检查是否发布成功
端口转发
- 新发布的镜像需要进行端口转发,这样本地才能访问
- 以 Lens 为例,直接在面板的 pods 菜单栏进入选择你想要进行端口转发的镜像,在弹出菜单内 Containers 一栏,查看当前 Ports 映射情况,重新 forward 到本地指定端口即可 (也可以用全命令行操作 效果一致)
如无意外,将已有的 docker-compose.yml 文件转换成 kubernetes pods 至此成功完成.