【问题标题】:Unable to deploy service to PCF with no-route无法将服务部署到无路由的 PCF
【发布时间】:2019-03-22 13:53:31
【问题描述】:

我在将我的一个应用程序推送到PCF 时遇到了这个奇怪的问题。 我想为我的服务实现蓝绿部署,我想部署没有路由的 app-v2 版本,然后在部署完成后添加临时路由。 因为我需要在应用程序启动时绑定一个市场服务UAASingle Sign-on(Provides identity capabilities via UAA as a Service)服务。 此UAA 服务在推送时导致问题。

用于部署的cf命令

cf push -f manifest-dev.yml --no-route

错误截图:

PCF 版本 2.x

【问题讨论】:

    标签: spring-boot cloud-foundry cloudfoundry-uaa blue-green-deployment


    【解决方案1】:

    我有几个想法可能有助于解决这个问题。

    1. 不要使用--no-route。你说I want to deploy app-v2 version with no-route and then add temp route after deployment done,所以跳过--no-route 部分并将临时路由直接放入你的manifest-dev.yml 文件中。如果您在该文件中已经有一条路线,您可以复制一份并将其命名为manifest-dev-v2.yml 并将路线放在那里。

    2. 把它分开。从 manifest-dev.yml 文件中删除您的服务。运行cf push -f manifest-dev.yml --no-route --no-start。然后映射临时路线。然后绑定服务。然后运行cf start。您也可以将清单全部放在一起,然后在 shell 脚本或类似的东西中编写您的 cf cli 操作。

    3. 您可以考虑使用 cf cli 的蓝/绿插件之一。有几个,我不能推荐一个。你可以在这里看到它们(搜索蓝色/绿色)。

      http://plugins.cloudfoundry.org/

    对于所报告的错误的一些背景知识,授权代码授予 (Oauth2) 无法在没有重定向 URL 的情况下工作。对于此流程,用户被重定向到登录页面,然后在登录发生后被重定向回您的重定向 URL。如果没有该重定向 URL,用户将无法完成流程。它似乎失败了,因为您没有任何路由,因此不能有重定向 URL。

    希望有帮助!

    【讨论】:

    • 感谢您的各种选择。我真的不想使用选项 1,因为由于多种环境,我已经拥有多个清单文件。尝试实施选项 2,并且将来肯定会探索选项 3..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 2021-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多