【问题标题】:Can we change/modify the environment in PCF (Pivotal Cloud Foundy) at Runtime?我们可以在运行时更改/修改 PCF(Pivotal Cloud Foundry)中的环境吗?
【发布时间】:2020-08-07 19:00:39
【问题描述】:

我们使用 Pivotal Cloud Foundry 的 YML 文件来设置环境。一切安好。根据 DEVOPS,如果我们必须修改/创建环境变量,我们必须修改 YML 并再次推送应用程序。我想知道是否可以在 PCF 应用程序运行时修改/创建环境变量。如果无需重新部署应用程序就可以完成,那将是非常酷的。如果做不到,是不是因为Java处理环境的方式?

谢谢

【问题讨论】:

    标签: cloud-foundry pivotal-web-services


    【解决方案1】:

    我们可以在运行时更改/修改 PCF(Pivotal Cloud Foundy)中的环境吗?

    是和不是。

    您可以在应用程序运行时使用cf set-env(设置或更新)和cf unset-env(删除)修改与应用程序关联的环境变量。

    这将在您运行命令时更新 Cloud Controller 中的环境变量。 但是,这将不会更新正在运行的应用程序容器内的环境变量。为了让您的应用程序看到您所做的更改,您必须cf restartcf restagecf push

    这与语言细节无关(即,您使用的语言无关紧要)。这是一个要求,因为运行应用程序的容器是使用一组固定的环境变量创建的。当这些变化时,必须重新创建容器。也就是说,即使容器可以在运行时更改,在 Linux 中,进程的环境变量也不能在运行时从外部更新(有technically some ways to do this,但实际上你不太可能这样做)。应该重新启动进程本身以更改环境变量。

    如果您想在运行时更新您的配置,您可以查看Spring Cloud Config server & its refresh capabilities 之类的内容。也就是说,事实证明,大多数应用程序和框架都假定在应用程序启动时读取一次配置,因此您的应用程序还需要支持在运行时更改您想要更改的配置。

    【讨论】:

    • 感谢您的周到回复。我认为计算机要真正有用,它们应该动态地适应不断变化的环境和需求。那是人工智能和一厢情愿。问候
    猜你喜欢
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多