Pod Environment Variables
spec.containers.env
spec:
containers:
- env:
- name: SERVICE_PORT
value: "8080"
- name: SERVICE_IP
value: "172.16.1.2"
- name: UNCHANGED_REFERENCE
# SCHEME이 다음에 정의되어 있으므로 `$(SCHEME)://172.16.1.2:8080` 로 설정됨
value: "$(SCHEME)://$(SERVICE_IP):$(SERVICE_PORT)"
- name: SCHEME
value: "https"
- name: SERVICE_ADDRESS
# 관련 변수가 이전에 정의도어 있으므로 `https://172.16.1.2:8080`로 설정됨
value: "$(SCHEME)://$(SERVICE_IP):$(SERVICE_PORT)"
- name: ESCAPED_REFERENCE
# SCHEME이 escape되어 있으므로 `$(SCHEME)://172.16.1.2:8080`로 설정됨
value: "$$(SCHEME)://$(SERVICE_IP):$(SERVICE_PORT)"
spec.containers.envFrom
Pod fields to env
apiVersion: v1
kind: Pod
metadata:
name: <podName>
spec:
containers:
- env:
- name: <envName>
valueFrom:
fieldRef:
fieldPath: <fieldPath>
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
<fieldPath>
metadata.name
metadata.namespace
metadata.uid
metadata.anonotations[<key>]
metadata.labels[<key>]
spec.serviceAccountName
spec.nodeName
status.hostIP
status.podIP
Container fields to env
apiVersion: v1
kind: Pod
metadata:
name: <podName>
spec:
containers:
- name: <containerName>
env:
- name: <envName>
valueFrom:
resourceFieldRef:
# containerName: <containerName>
resource: <resource>
- name: CONTAINER_CPU_LIMIT
valueFrom:
resourceFieldRef:
resource: limits.cpu
<resource>
requests.cpu
requests.memory
requests.hugepages-*
requests.ephemeral-storage
limits.cpu
limits.memory
limits.hugepages-*
limits.ephemeral-storage
- CPU, Memory 설정이 없으면 kubelet이 할당가능한 최대 할당 가능 값을 사용하게 됩니다
- CPU는 올림된 Core 수가 사용됩니다(
250m
->1
) - Memory는 바이트 단위 값이 사용됩니다(
64Mi
->67108864
)