如何解决 unknown command "up" for "kompose"

如何解决 unknown command "up" for "kompose"

我们原来的开发是用 docker-compose 来跑 docker 容器,现在要迁移到 k8s,因为一个项目的 docker-compose.yml 下有很多的 service。(一个 gitlab 项目下的 docker-compose.yml 写了很多子服务)

我参考了 Kubernetes 官方教程:将 Docker Compose 文件转换为 Kubernetes 资源

但是该教程中有一个 kompose up 来跑容器!

图片.png

但是 kompose 并没有 up 子命令!

─➤  kompose -f docker-compose.yml up
unknown command "up" for "kompose"

使用 --help 也没有发现这个 up 子命令!

─➤  kompose --help   
Kompose is a tool to help users who are familiar with docker-compose move to Kubernetes.

Usage:
  kompose [command]

Available Commands:
  completion  Output shell completion code
  convert     Convert a Docker Compose file
  help        Help about any command
  version     Print the version of Kompose

Flags:
      --error-on-warning    Treat any warning as an error
  -f, --file stringArray    Specify an alternative compose file
  -h, --help                help for kompose
      --provider string     Specify a provider. Kubernetes or OpenShift. (default "kubernetes")
      --suppress-warnings   Suppress all warnings
  -v, --verbose             verbose output

Use "kompose [command] --help" for more information about a command.

下面是我的 docker-compose.yml 的内容

version: "3"
services:
  add-service:
    container_name: add-service
    image: ponponon/test-nameko-for-rabbitmq
    env_file:
      - .env
    logging:
      driver: json-file
      options:
        max-size: "20m"
        max-file: "1"
    ports:
      - "5001:5001"
    command: nameko run services:AddService --config ./config.yaml --backdoor-port 5001
  authentication-service:
    container_name: authentication-service
    image: ponponon/test-nameko-for-rabbitmq
    env_file:
      - .env
    logging:
      driver: json-file
      options:
        max-size: "20m"
        max-file: "1"
    ports:
      - "5002:5002"
    command: nameko run services:AuthenticationService --config ./config.yaml --backdoor-port 5002
  http-api-service:
    container_name: http-api-service
    image: ponponon/test-nameko-for-rabbitmq
    env_file:
      - .env
    logging:
      driver: json-file
      options:
        max-size: "20m"
        max-file: "1"
    ports:
      - "5000:5000"
    command: python api.py

所以为什么会这样?kompose 到底有没有 up 子命令?应该如何正确使用 up 子命令

下面是我的 kompose 版本

─➤  kompose version                                                       
1.26.1 (a9d05d509)
阅读 3.1k
2 个回答

英文版文档已经把 compose up 一节删了。

对应修改的 message 是这样的:

kompose has drop support for up and down subcommand since v1.22.0.
Also update kompose version

kompose 从 v1.22.0 开始把 up / down 子命令删掉了。

我知道为什么了!!!

是因为 kubernetes 的文档太滞后了 🤡🤡🤡🤡🤡🤡🤡🤡🤡🤡🤡🤡🤡🤡🤡🤡🤡🤡 ,真是笑死我了,为什么谷歌不把这些不写文档的程序员都开除了?

这是中文版本的文档
图片.png

这是英文版本的文档
图片.png

你以为英文文档就不滞后了?🤮🤮🤮🤮🤮

照样滞后! 💩💩💩💩💩💩💩💩💩💩💩

图片.png

长话短说!就是(2021 年 11 月 30 日)新版本的 kompose 移除了 updown 命令,用 kubectl apply 替代之!

具体可以看:Cannot kompose up

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏