我之前的项目都是 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-service
、http-api-service
、add-service
组成一个完整的项目。
我可以使用 docker-compose start
、stop
这样的命令统一管理三个子服务。
迁移到 k8s
之后怎么统一管理呀?
就是如何优雅的一键启停多个 xxx
k8s 也可以把多个服务、deployment 等资源写进一个 yaml ,然后用
kubectl apply -f file.yaml
,kubectl delete -f file.yaml
来统一创建、删除。