我有一个在 kube 集群中运行的 Flask 应用程序。它通过使用 kube Secrets 设置初始化应用程序所需的 env 值来完成所有正确的操作。我怀疑有些环境值只需要“读取一次”;那些启动数据库和其他服务的。这让我想知道...
当我调试容器时,令人惊讶的是容器环境中有多少可用的秘密。当然,在此调试设置中,我使用“无限睡眠”类型的命令,该命令允许我调试并手动启动应用程序。我对 shell 脚本的经验不足,不知道是否可以使用一个脚本来启动 Flask 应用程序,然后在应用程序启动后至少将 env 秘密值更改为某个“虚拟”值 -跑步。我对 kube 也不够熟悉,不知道我的逻辑是否有缺陷。
在 kube 设置中,可以initContainers
在主应用程序启动之前解决相关问题(例如,用于设置权限和配置值)。
在不停止应用程序的情况下,我如何考虑启动后的“卫生”过程?
- 这个想法在某种程度上是“矛盾的”吗? (换句话说,“没有意义”)
- 也许如果我运行一个 bash 脚本来启动 Flask 应用程序(我认为需要在前台运行,才能在 kube 集群中运行(?)),但更改“其他”shell 的 env ? (即任何尝试使用该系统的人都可以使用的任何 shell)
- [x] shell脚本可以用来改变另一个进程的env值吗?不(@穆鲁)
- 从烧瓶应用程序中这样做可能有用/可能吗?
- 无论是否可行,这些方法是否都失败了?更远保护我的秘密