k8s 如何像 docker-compose 一样批管理项目

我之前的项目都是 docker-compose 管理的,每个 docker-compose.yaml 对应多个子项目,类似下面这样:

version: "3"
services:
  add-service:
    container_name: add-service
    image: ponponon/test-nameko-for-rabbitmq:1.0.1
    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:1.0.1
    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:1.0.1
    env_file:
      - .env
    logging:
      driver: json-file
      options:
        max-size: "20m"
        max-file: "1"
    ports:
      - "5000:5000"
    command: python api.py

三个 authentication-servicehttp-api-serviceadd-service 组成一个完整的项目。

我可以使用 docker-compose startstop 这样的命令统一管理三个子服务。

迁移到 k8s 之后怎么统一管理呀?

就是如何优雅的一键启停多个 xxx

阅读 1.5k
2 个回答

k8s 也可以把多个服务、deployment 等资源写进一个 yaml ,然后用 kubectl apply -f file.yaml , kubectl delete -f file.yaml 来统一创建、删除。

可以用helm, helm就是用来管理容器编排的,定义一堆的yaml模板,管理方式和docker-compose有点类似。

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