美文网首页kubernetes学习
K8S 使用downward API获取pod相关信息

K8S 使用downward API获取pod相关信息

作者: sjyu_eadd | 来源:发表于2019-12-24 15:09 被阅读0次

参考链接:
https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/

https://kubernetes.io/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/

K8S中获取pod相关信息的方式:
1、环境变量
2、volume挂载文件

[root@hanyu-210 ~]# cat pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: busybox-pod
spec:
  containers:
    - name: busybox-container
      image: busybox
      command: [ "/bin/sh", "-c", "sleep 1000" ]
      resources:
        requests:
          memory: "32Mi"
          cpu: "125m"
      env:
      - name: status.podIP
        valueFrom:
          fieldRef:
            fieldPath: status.podIP
      - name: spec.nodeName
        valueFrom:
          fieldRef:
            fieldPath: spec.nodeName
      - name: status.hostIP
        valueFrom:
          fieldRef:
            fieldPath: status.hostIP
      - name: spec.serviceAccountName
        valueFrom:
          fieldRef:
            fieldPath: spec.serviceAccountName
      - name: metadata.name
        valueFrom:
          fieldRef:
            fieldPath: metadata.name
      - name: requests.cpu
        valueFrom:
          resourceFieldRef:
            containerName: busybox-container
            resource: requests.cpu
      - name: limits.cpu
        valueFrom:
          resourceFieldRef:
            containerName: busybox-container
            resource: limits.cpu
      - name: requests.memory
        valueFrom:
          resourceFieldRef:
            containerName: busybox-container
            resource: requests.memory
      - name: limits.memory
        valueFrom:
          resourceFieldRef:
            containerName: busybox-container
            resource: limits.memory
      volumeMounts:
      - name: podinfo
        mountPath: /etc/podinfo
  volumes:
    - name: podinfo
      downwardAPI:
        items:
          - path: "labels"
            fieldRef:
              fieldPath: metadata.labels
          - path: "annotations"
            fieldRef:
              fieldPath: metadata.annotations
          - path: "cpu_limit"
            resourceFieldRef:
              containerName: busybox-container
              resource: limits.cpu
              divisor: 1m
          - path: "cpu_request"
            resourceFieldRef:
              containerName: busybox-container
              resource: requests.cpu
              divisor: 1m
          - path: "mem_limit"
            resourceFieldRef:
              containerName: busybox-container
              resource: limits.memory
              divisor: 1Mi
          - path: "mem_request"
            resourceFieldRef:
              containerName: busybox-container
              resource: requests.memory
              divisor: 1Mi
  restartPolicy: Never

kubectl apply -f pod.yaml后待pod Running后

image.png

相关文章

  • K8S 使用downward API获取pod相关信息

    参考链接:https://kubernetes.io/docs/tasks/inject-data-applica...

  • Downward API

    Downward API 它的作用是:让 Pod 里的容器能够直接获取到这个 Pod API 对象本身的信息。 实...

  • Downward API

    Downward API 它的作用是:让 Pod 里的容器能够直接获取到这个 Pod API 对象本身的信息 在这...

  • 通过文件暴露 Pod 信息给容器

    Downward API 的动机 1、Downward API 存储 Pod 字段 2、Downward API ...

  • 3 深入掌握Pod(3)

    3.6 在容器内获取Pod信息(Downward API) 我们知道,每个Pod在被成功创建出来之后,都会被系统分...

  • Pod Downward API

    1. 在容器内获取Pod信息(Downward API) 我们知道,每个Pod在成功创建处理后,都会被系统分配唯一...

  • adb相关操作

    使用adb shell,进入后执行 获取android系统版本: 获取系统api版本: 获取手机相关制造商信息: ...

  • 深入剖析k8s中pod的意义和用法

    本文是《深入剖析k8s》学习笔记的第二篇,主要解析pod的意义及其使用方法。 pod,是k8s中最小的API对象,...

  • 研究 k8s pod 状态变化

    背景 最近打算使用 k8s api server 的 api 来监控 pod 状态变更事件,所以顺带研究了一下 ...

  • Pod挂载(ConfigMap,Downward API,Ser

    到目前为止,Kubernetes 支持的 Projected Volume 一共有四种:1.Secret(存放数据...

网友评论

    本文标题:K8S 使用downward API获取pod相关信息

    本文链接:https://www.haomeiwen.com/subject/ggcfoctx.html