基于Swan的部署实践
Swan是数人云公司采用Go语言开发的基于Mesos的调度器。Swan可以用来在DC/OS集群上部署应用程序,并管理应用程序的整个生命周期,对新版本应用进行滚动更新,控制应用程序的弹性伸缩,并且可以在应用程序不可用时对应用程序进行运行状况检查并自动故障转移。
功能特性
应用发布:发布应用支持应用实例名称固定,便于监控和做服务发现。
应用扩缩:支持手动扩缩,扩缩过程中保持实例ID连续。
滚动更新:可以指定更新的实例数目分步更新,也可以全量更新。滚动更新策略可配。
版本回滚:支持更新过程中手动回滚,任意一个实例更新失败后自动回滚。
版本管理:支持应用多版本管理。
健康检查:支持实例级别的健康检测,可配置健康检测策略。
自动容错:可配置自动容错策略,根据策略自动恢复失败的实例。
优雅终止:扩缩和滚动更新过程中,支持优雅终止实例。