本页面介绍了如何部署应用的新版本并将流量从旧版本迁移到新版本。
推送初始应用
使用 Kf CLI 推送包含路由的应用的初始版本:
$ kf push app-v1 --route my-app.my-space.example.com
推送更新后的应用
使用 Kf CLI 推送没有任何路由的新版应用:
$ kf push app-v2 --no-route
将路由添加到更新后的应用
使用 Kf CLI 将所有现有路由绑定到权重为 0 的已更新应用,以确保这些路由不会获取任何请求:
$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 0
迁移流量
通过更新路由的权重,开始将流量从旧应用迁移到更新后的应用:
$ kf map-route app-v1 my-space.example.com --hostname my-app --weight 80
$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 20
如果部署进展顺利,您可以通过再次更新权重来迁移更多流量:
$ kf map-route app-v1 my-space.example.com --hostname my-app --weight 50
$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 50
完成流量迁移
当您确信新服务尚未引入回归后,请通过将流量移至新实例完成发布:
$ kf map-route app-v1 my-space.example.com --hostname my-app --weight 0
$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 100
关闭原始应用
确认不需要快速回滚后,移除原始路由并停止应用:
$ kf unmap-route app-v1 myspace.example.com --hostname my-app
$ kf stop app-v1
或者删除应用以及所有关联的路由映射:
$ kf delete app-v1