目录
Downward API 存在的意义
Downward API是kubernetes中的一个功能,它允许容器在运行时从kubernetes API Server获取有关它们自身的信息。这些信息可以作为容器内部的环境变量或文件注入到容器中,以便容器可以获取有关其运行环境的各种信息,比如pod名称、命名空间、标签等。
- 提供容器元数据。我们容器的应用程序需要知晓当前真实的CPU数量,内存等资源,才能在程序中使用合适的资源。有了Downward API后,就可以直接读取当前容器的资源限制,把资源限制反馈给容器或应用。
- 动态配置。我们有时候需要通过pod标签或名称去修改我们的配置参数,可以通过Downward API去获取。
- 与Kubernetes环境集成。可以通过Downward API调取当前Kubernetes内部的一些数据。
Downward API - env
通过Downward API将环境变量传递到我们的pod内部。
vim 12.pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: downward-api-env-example
spec:
containers:
- name: my-container
image: nginx:v1
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: CPU_REQUEST
valueFrom:
resourceFieldRef:
resource: requests.cpu
- name: CPU_LIMIT
valueFrom:
resourceFieldRef:
resource: limits.cpu
- name: MEMORY_REQUEST
valueFrom:
resourceFieldRef:
resource: requests.memory
- name: MEMORY_LIMIT
valueFrom:
resourceFieldRef:
resource: limits.memory
restartPolicy: Never
其中最后四项关于CPU和内存的。
[root@k8s-master01 3