乐趣区

关于devops:多主机的部署策略

最近在部署机器的时候发现有部署失败的状况,深入研究后发现是部署策略存在问题,导致部署不会开始。这里来钻研一下常见的部署策略。

部署限度

部署速度设置

  • 同时可部署主机比例(legancy):
    通常咱们须要在部署速度与部署过程中服务的可用性方面进行衡量,部署速度一般来讲是将同一时间能够部署的主机数量设置为 33.0%。同时部署的主机比例越高,部署实现的速度就会越快,然而对服务的需要超过其可用性的危险也就会越大。然而该形式未思考到部署的机器是否是衰弱的。

机群“衰弱”设置

“衰弱”主机的定义:
以后没有正在部署的机器
之前部署未失败的机器
在失常运行中的机器,即能够失常接管流量的机器

当对该局部内容进行设置时,须要保障机群的局部机器始终能够失常运行,如果有机器部署失败,将会进行进一步部署。“衰弱”主机的比例是咱们在这里须要思考的参数,其值越低部署的速度就越快,对服务的需要超过其可用性的危险也就越大。在这里咱们能够思考以下参数来对其进行设置。

  • 衰弱主机百分比:
    通常状况下,将该值设置为 66%,这意味着有 66% 的 hosts 将始终保持衰弱的状态。这里须要思考到的一个非凡状况是,如果只有两台主机,那么在该限度下将不会进行部署。因而咱们须要引入新的参数。
  • 容许回退有效的衰弱主机百分比:
    该参数能够设置为 true 或者 false,在设置为 true 的状况下,如果遇到下面提到的非凡状况,即衰弱主机百分比设置为 66%,而只有两台主机的时候,会主动调整比例为(2-1)/2 = 50%,以便能够至多部署一台。同样,对于只有一台主机的状况下,如果该参数为 true,则会将 66% 调整为(1-1)/1 = 0%,即可容许部署进行。

best practice

衰弱主机百分比: 66%
容许回退有效的衰弱主机百分比: true

服务健康检查

服务上线应该保障十拿九稳,因而咱们应该在部署过程中对服务再次进行测试。通常来说,这包含健全性测试与验证测试。

健全性测试:

该步骤通过运行测试来确定所在主机上运行的软件是否良好。它会在接管流量前运行。

验证测试:

该步骤用来测试要害性能是否失常运行,它可能会在服务开始接管流量后进行,因而应用该测试须要分外小心。

主动回滚:

关上该性能,能够为该部署增加监控和警报,如果在部署后一段时间,某些监控项偏离咱们设定的范畴,咱们能够主动回滚到上个版本。

主机抉择

对于部署的机器咱们也能够进行更加细粒度的抉择,比方应该同时部署某个可用区中的机器,还是按比例部署所有可用区中的机器等。

跨数据中心部署:

关上该设置,能够均衡部署咱们所有可用区中的机器,即,如果咱们有 30 台主机均匀散布在三个可用区上,并且曾经将最大部署比例设置为 30%,那么将会抉择九台机器,每个可用区中抉择三台。

通过调整适合的部署策略,能够在最大水平上保障咱们服务的可用性。

退出移动版