【问题标题】:docker compose cli to kubectldocker compose cli 到 kubectl
【发布时间】: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/createcompose 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文件,但是我没有找到相关的可替换kubectl API,是否Kubernetes API不完整

标签: docker docker-compose kubectl


【解决方案1】:

它在 k8s 中的工作方式有点不同。检查Deployment 的工作原理。

【讨论】:

  • 部署暂停和恢复与compose中的暂停没有相同的操作意义。这是否意味着在 kubectl 中找不到 compose 的停顿?
  • 是的,无法像在 docker-compose 中那样在 k8s 中停止/恢复。
  • 目前我发现只有compose up对应kubectl apply/createcompose down对应kubectl delete。有没有我忽略的类似命令可以相互对应?
猜你喜欢
  • 2016-05-26
  • 2020-10-23
  • 2018-11-18
  • 1970-01-01
  • 2020-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多