我想在openshift的应用程序日志中打印当前运行我的应用程序的podname

我想在openshift的应用程序日志中打印当前运行我的应用程序的podname,openshift,Openshift,因此,我的java应用程序在openshift中的几个pod中运行,我希望出于某些业务目的在应用程序日志中打印podname。有什么办法吗?谢谢您应该能够使用Kubernetes“向下API”向应用程序公开Pod名称。这可以通过公开具有Pod名称的环境变量,或者装载包含该名称的文件来实现 以下是使用环境变量执行此操作的文档: 下面是该页面上示例的精简版本,仅突出显示Pod名称: apiVersion: v1 kind: Pod metadata: name: dapi-envars-fiel

因此,我的java应用程序在openshift中的几个pod中运行,我希望出于某些业务目的在应用程序日志中打印podname。有什么办法吗?谢谢

您应该能够使用Kubernetes“向下API”向应用程序公开Pod名称。这可以通过公开具有Pod名称的环境变量,或者装载包含该名称的文件来实现

以下是使用环境变量执行此操作的文档:

下面是该页面上示例的精简版本,仅突出显示Pod名称:

apiVersion: v1
kind: Pod
metadata:
  name: dapi-envars-fieldref
spec:
  containers:
    - name: test-container
      image: k8s.gcr.io/busybox
      command: [ "sh", "-c"]
      args:
      - while true; do
          echo -en '\n';
          printenv MY_POD_NAME;
          sleep 10;
        done;
      env:
        - name: MY_POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
  restartPolicy: Never
正如您从文档中看到的,您还可以公开一些其他上下文

可在此处找到装载卷文件的等效文档: