Kubernetes
[ Kubernets ] 컨테이너에 환경 변수(Node IP/ Pod IP) 정보 넣기
블루빔
2023. 11. 27. 17:00
일반적으로 pod를 배포하게 되면 컨테이너 환경 변수에는 아래와 같은 정보들이 기재됩니다.
[ AS - IS ]
>> 여기서 기재된 HOSTNAME은 pod네임입니다.
해당 ⬅️ 글에서 확인 할 수 있듯이 Node IP 정보나 Pod IP 정보는 쿠버네티스가 추가해주는 정보이므로 컨테이너가 생성 된 이후에 확인이 가능합니다.
하지만 작업을 하다 보면 컨테이너가 Node IP 또는 Pod IP 정보를 필요로 할 때가 있으므로 컨테이너 환경 변수에 해당 정보들을 업데이트해야 합니다.
하여 이번 글에서는 Pod yaml 파일 로 컨테이너 생성 시 컨테이너 환경 변수에 Node IP 정보와 Pod IP 정보도 함께 추가되는 코드에 대해 작성해 보려고 합니다.
예시)
spec:
containers:
- name: test-app
image: nginx:1.14.2
ports:
- containerPort: 8080
env:
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
컨테이너 설정 시 env 필드에 추가하려는값의 필드 경로를 지정하여 컨테이너 환경 변수에 값을 넣을 수 있습니다.
Node IP의 필드 경로는 status.hostIP 이며
Pod IP의 필드 경로는 status.podIP 입니다.
완성본
apiVersion: v1
kind: Pod
metadata:
name: test-app
spec:
containers:
- name: test-app-cn
image: nginx:1.14.2
ports:
- containerPort: 8080
env:
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: NODE_IP
valueFrom:
fieldRef:
fieldPath: status.hostIP
resources:
limits:
cpu: "100m"
memory: "120Mi"
[ TO - BE ]