【发布时间】:2020-05-06 20:52:32
【问题描述】:
我的项目需要使用python子进程模块来操作compose yaml文件,例如docker-compose up/start/stop/restart/down,现在需要从compose转移到k8s
那么我的 compose cli 与 kubectl cli 是如何对应的呢?比如docker-compose up好像对应kubectl create/apply,如何在kubectl中找到docker-compose down,stop,start and restart命令对应的命令
如果您能告诉我如何解决,我将不胜感激?
【问题讨论】:
-
我建议直接使用Kubernetes API 而不是脚本
kubectl。 Kubernetes 和 Compose 在几个地方有不同的抽象,两者之间不一定存在 1:1 的映射。 -
比较起来,好像只有
compose up对应kubectl apply/create,compose down对应kubectl delete。有没有类似我忽略的对应命令? -
Kubernetes API 相对于 python 子进程有哪些优势?我发现使用子进程更容易,因为我还需要先使用 kompose 将 compose yaml 转换为 k8s yml,python 中的子进程应该能够执行
kompose convert -
外部
kubectl是一个未记录的依赖项,如果您尝试处理kubectl get输出之类的事情,您要么受制于可能在版本之间更改的表格格式,要么您正在解析 SDK 将为您执行的 JSON 输出。 -
我试图在
Kubernetes API中找到替换kubectl apply-f export的命令。 export是一个目录,里面包含了kompose convert -o export的一系列yaml文件,但是我没有找到相关的可替换kubectlAPI,是否Kubernetes API不完整
标签: docker docker-compose kubectl