spec: containers: - name: xxx env: # 获取pod ip,并赋值给容器内的环境变量POD_IP - name: POD_IP valueFrom: fieldRef: apiVersion: v1 fieldPath: status.podIP
检查api
echo $POD_IP
获取pod的其余属性添加到环境变量,如pod名, pod所在命名空间等运维
spec: containers: - name: xxx env: # 获取pod id,并赋值给容器内的环境变量POD_ID - name: POD_ID valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.uid # 获取pod 名字,并赋值给容器内的环境变量POD_NAME - name: POD_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name # 获取pod所在namespace,并赋值给容器内的环境变量POD_NAMESPACE - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace
同一应用启n个pod时, 若是对应业务机器数量小于n, 就会有多个pod被部署在同一机器, 而应用日志都会经过数据卷挂载到宿主机, 所以会发生多个pod同时写入日志到宿主机相同文件的状况,这样不只影响性能, 并且多个pod的日志混杂在一块儿, 不利于运维分析.性能
能够在应用的日志文件名字中加入POD_IP, 由于pod ip是不会重复的ui