kubernetes - 为集群中的单个 pod 设置环境变量
问题描述
我有 n 个我的微服务实例作为 kubernetes pod 运行,但由于应用程序代码中有一些调度逻辑,我希望这些 pod 中只有一个来执行代码。
在 Spring 应用程序中,一种常见的方法是仅为实例激活计划配置文件-Dspring.profiles.active=scheduled
,并为其余实例保持停用状态。我想知道如何在 Kubernetes 中实现这一点。
注意:我熟悉 kubernetes cron 作业可以调用端点的方法,以便负载均衡器选择的只有一个实例执行计划的代码。但是,我想知道是否可以以只有一个 pod 设置环境变量的方式配置 kubernetes 规范。
解决方案
您可以创建具有所需环境变量的 1 个副本的部署,以及具有所需数量的副本的另一个部署,而无需该变量。您还可以在两个部署上设置相同的标签,以便服务可以在需要时对来自两个部署的 pod 之间的流量进行负载平衡。
推荐阅读
- jquery - 如何自定义 jquery 步骤向导
- c# - 从 2019 年 3 月 18 日起禁止图形 API 返回 403
- xamarin - xamarin andriod popupwindow自定义listview itemclick事件不起作用
- jquery - Jquery:行跨度的索引问题
- unity3d - 从 Unity 2018 中的服务器获取图像
- spring-boot - Spring Boot - 配置 Redis 键值存储/缓存
- javascript - JSDoc:来自文字的 Typedef
- spring-security - spring security loadUserByUsername 登录后用户名为空 url 几天不使用
- python - 在定义的集合中添加数字并在 Python 中打印
- ssh - 使用 openssl libcrypto 解析新的 openssh-key-v1 格式