不考虑 stack / swarm / k*s 。单机场景。只能自己做蓝绿吗
1
dzdh OP 抛砖引玉看好不好使。
compose 运行两个服务,一个是 tcp 转发服务,另一个是真正的服务,scale=N 不直接对外暴露任何端口。 比如: forward: 80:80, forward: 80->nginx:80 nginx(scale=N): :80 然后 forward 不用动,更新 nginx 就行? |
2
securityCoding 2022-06-21 09:35:44 +08:00 via Android
既然都单机了,你为啥还追求热更新。。。
|
3
dzdh OP @securityCoding 总想希望 0 停机时间嘛 (doge
|
4
ttyn 2022-06-21 10:07:40 +08:00
|
5
kangkang 2022-06-21 10:10:11 +08:00
为啥只考虑 docker-compose 不考虑 k3s ?
|
7
vast0906 2022-06-21 10:16:17 +08:00
emmmm ,之前做过这个奇怪的东西。暴露 host 的端口,haproxy 去监听 host 的端口,通过 haproxy 直接转发到 container 的 bridge ip 中。
|
8
ttyn 2022-06-21 10:21:34 +08:00
@dzdh 我的理解是,podman 没有守护进程,容器生命周期由第三方管理,比如 k8s ,所以定位更适合集群,单机还是 docker 方便点
|
10
ospider 2022-06-21 10:43:42 +08:00
docker 妙就妙在 immutable ,你再来个热更新,不是倒退回去了……
|
11
sadfQED2 2022-06-21 10:50:35 +08:00 via Android
服务前面套个 haproxy ?使用 ha 检查服务存活
|
13
Chad0000 2022-06-21 11:00:04 +08:00 via iPhone
同样建议 op 试试 k3s 。我的线上系统就部署在虚拟机里面的 k3s 上。
|
15
THESDZ 2022-07-18 10:53:12 +08:00
Traefik+docker network?
|