你们都是怎么维护多个代码服务器的

Ptu2sha 1月前 18

除了 rsync 还有 k8s
还有是吗简单的方案
最新回复 (24)
  • iBugOne 24天前
    引用 2
    git push 直接部署
  • eason1874 24天前
    引用 3
    脸书以前有一篇文章介绍他们怎么滚动部署 PHP 代码,把部署时间从几天缩短到十几分钟,可以去找来看看。
  • LanLiang 24天前
    引用 4
    docker 和 docker-compose
  • kennylam777 24天前
    引用 5
    單機 - docker-compose
    多機 - 組 k8s cluster
  • Ansen 24天前
    引用 6
    ansible
  • chenqh 24天前
    引用 7
    @kennylam777 单机 docker-compose? 怎么平滑升级?
  • SjwNo1 24天前
    引用 8
    swarm
  • dzdh 24天前
    引用 9
    小规模集群 docker swarm 可以一战
  • MengiNo 24天前
    引用 10
    @chenqh 偷懒一点的做法就是启动 2 个后端,比如 server1 和 server2,交叉更新,然后不断的改 nginx.conf 的反代指向。虽然很尬但是有效并且可以用 drone 自动实现。 当然的确有 swarm 加持一下 docker compose 就有了很大提升,不要老看着 k8s 对 swarm 有偏见。
  • neoblackcap 24天前
    引用 11
    灰度重启,LB 切流量,就是这么简单
  • ericls 24天前
    引用 12
    Ansible 其实不错的
  • MiracleKagari 24天前
    引用 13
    Choerodon
  • jieky 24天前
    引用 14
    @MengiNo nginx 做负载均衡不香?为何要不断修改 nginx.conf
  • kennylam777 24天前
    引用 15
    @chenqh 單機 docker-compose (不是 swarm) 好像真的沒法做 rolling update, 平時都用 k8s 的 Service IP 及 readinessProbe, 自動解決切換問題
  • AngryPanda 24天前
    引用 16
    @jieky #14 故障转移?还是 虚 IP ?
  • MengiNo 24天前
    引用 17
    @jieky 不行的。流程应该是这样的:比如 server1 是 version X 、server2 是 version X-1,nginx 指向 server1 。现在想部署 version X+1,则通过 docker-compose up 把镜像版本升级到 X+1 并且会删除 server2 重新部署一个新的叫 server2 的容器,此时因为 nginx 指向 server1,更新不受影响。## 最后再把 nginx 改成指向 server2 正式对外更新,然后要过一会儿,等 server1 确实没有流量且剩余的东西都运行完了,才能把 server1 关掉减少资源占用。

    从##号处断点来看,到 ## 为止 server1 是 X 、server2 是 X+1,他们两个都可以提供服务。nginx 配置负载均衡,要如何阻止他在 server2 准备好了之后立刻停止像 server1 分发流量呢? nginx 虽然能在 server1 关掉之后自动识别出 server1 down 掉了从而只把流量发给 server2,但现在问题是 server1 一直都能接到流量,导致一直无法优雅关闭。

    我们现在比较尴尬的地方就在于,我们并不想让流量均衡而是想实现流量转移。所以只能通过手动修改 nginx.conf 的负载权重,控制两个 server 的流量,这样来实现 low 版的无停机更新、灰度发布和故障回滚。可能是个人水平不够也可能是当局者迷,如果有更优雅的方法请赐教。
  • skys215 24天前
    引用 18
    puppet?
    多个代码服务器是指跑同样代码的服务器吗?还是跑不同代码的服务器?
  • kennylam777 24天前
    引用 19
    還是無腦 k8s 吧, 單機可以用 k3s 或者直上多機的 kubespray 安裝

    這種流量轉移在 Service IP 是基本的動作, 更有要求的用 Isito
  • chenqh 24天前
    引用 20
    @MengiNo 用 ansible 做的?
  • zhuzhibin 24天前
    引用 21
    老哥们贴一些部署方案呀
  • DoctorCat 24天前
    引用 22
    ansible 足矣,saltstack 更佳
  • yanzhiling2001 24天前
    引用 23
    jenkins 配置好
  • xuanzz 24天前
    引用 24
    有没有具体的文章教程之类的?
  • goushenggege 24天前
    引用 25
    ftp 哦不 sftp
  • 游客
    26
返回