【发布时间】:2021-09-13 04:45:12
【问题描述】:
我在 k8s 集群中部署了一个 Spring Boot 应用程序(一组服务)。对于微米指标,我需要动态获取此应用程序运行的命名空间,以便我可以将其添加为指标中的标记。以下是我的自定义标签创建 bean
@Bean
public MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
return registry -> {
String hostname = getHostName();
registry.config().commonTags(TAG_NAME_INSTANCE,hostname);
final String applicationName = environment.getProperty(SPRING_BOOT_APPLICATION_NAME_PROPERTY_KEY);
registry.config().commonTags(TAG_NAME_APPLICATION, applicationName);
registry.config().commonTags(TAG_NAME_APP, applicationName);
registry.config().commonTags(TAG_NAME_KUBE_NAME_SPACE, getKubeNamespace());
};
}
当前getKubeNamespace 返回硬编码值。如何获取此 pod 正在运行的命名空间?
【问题讨论】:
标签: java spring-boot kubernetes spring-cloud