flink-learning-k8s/blogs/Flink K8s Pod 增加环境变量.md
为啥要增加环境变量?---> 默认已有的环境变量不能满足需求,我们会从作业的 env 中获取到作业的 POD IP/物理机器 IP/Cluster.id/实时平台注入的 taskid/taskname,把这些 label 打进收集到的 metrics 和 log 里面,方便后期查询和告警。
注入需要的 env 到 pod 里面去,代码如下:
JM
.addNewEnv()
.withName(ENV_FLINK_HOST_IP_ADDRESS)
.withValueFrom(new EnvVarSourceBuilder()
.withNewFieldRef(API_VERSION, HOST_IP_FIELD_PATH)
.build())
.endEnv()
.addNewEnv()
.withName("CLUSTER_ID")
.withValue(kubernetesJobManagerParameters.getClusterId())
.endEnv()
TM
.addNewEnv()
.withName(ENV_FLINK_HOST_IP_ADDRESS)
.withValueFrom(new EnvVarSourceBuilder()
.withNewFieldRef(API_VERSION, HOST_IP_FIELD_PATH)
.build())
.endEnv()
.addNewEnv()
.withName(ENV_FLINK_POD_IP_ADDRESS)
.withValueFrom(new EnvVarSourceBuilder()
.withNewFieldRef(API_VERSION, POD_IP_FIELD_PATH)
.build())
.endEnv()
.addNewEnv()
.withName("CLUSTER_ID")
.withValue(kubernetesTaskManagerParameters.getClusterId())
.endEnv()
可以看到加到 env 里面的环境变量已经 OK 了