基于 this可以在您定义的部署的所有 pod 中创建相同的环境变量。
有没有办法指示 Kubernetes 部署创建具有不同环境变量的 pod?
用例:
假设我有一个监控容器,我想创建它的 4 个副本。如果环境变量如此定义,则此容器有一个正在发送邮件的服务。例如,如果环境变量 IS_MASTER 为真,则服务继续发送这些电子邮件。
apiVersion: v1
kind: Deployment
metadata:
...
spec:
...
replicas: 4
...
template:
...
spec:
containers:
-env:
-name: IS_MASTER
value: <------------- True only in one of the replicas
最佳答案
据我所知,您正在寻找的是一种反模式,而不是不可能。
据我了解,您似乎正在寻求部署一个可扩展/HA 监控平台,该平台不会在警报上发送 X 次邮件,因此您可以制作一个与其 sibling 交谈的边车容器并“选择”主邮件程序(在这种情况下,StatefulSet 会更容易),或者只是将邮件程序与监控分开,并让它们通过服务相互交谈。这将允许您分别对监控和邮件进行负载平衡。
monitoring-1 \ / mailer-1
monitoring-2 --- > mailer.svc -- mailer-2
monitoring-3 / \ mailer-3
if hostname == $statefulset-name-0 then MASTER
,但我觉得这不是最好的主意。
https://stackoverflow.com/questions/52628474/
相关文章:
xcode - 如何解决错误 'app' 的配置设置冲突。 "app"已自动签名,
janusgraph - 如何在 Janusgraph 中获取索引键列表?
maven - 将 Artifact 安装到特定的远程 Maven 存储库
SQL Server - 检查给定的日期+时间是否在两个日期时间变量之间的确切日期+时间
amazon-web-services - AWS Api Gateway作为HTTP代理正在破坏二
audio - 在网络服务器上播放 Apple 的 .caf 音频文件?
docker - 使用 Dockerfile 中的 COPY 在目标目录中复制具有不同名称的文件