일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Run The Bridge
- 대전
- 오답노트
- 달리기
- Kubernetes
- 자전거
- 대구
- zabbix
- 유산소
- 하체
- 힐링
- GitHub
- Podman
- 정보처리기사
- 10km
- Grafana
- 건대입구역
- DSEC
- Linux
- 중식
- 2021
- docker
- 소모임
- Python
- 러닝
- 맛집
- 한강
- Shell
- 뚝섬유원지
- 성수대교
Archives
- Today
- Total
Run The Bridge
kubernetes 환경변수 N개 이상 Pod에 적용하는 방법 본문
728x90
kubernetes를 사용하다 보면 환경변수를 적용하게 되는데 ConfigMap 또는 Secret 을 생성해서 env에 key, value를 적용하는 방식인 ConfigMapRef와 secretKeyRef를 선언하는 방식을 많이 사용하고 있다.
해당 방식은 1:1 대응이기 때문에 N개 이상의 환경변수를 적용하기 위해서는 yaml에 정의해야 할 값이 늘어난다는 단점이 있다.
그래서 우리는 envFrom을 통해 N개 이상의 환경변수를 Pod내에 Mount 해보려고 한다.
1. ConfigMap 생성
아래와 같이 꽃, 동물, 과일에 대한 key를 넣고 key에 맞는 value를 선언해주었다.
apiVersion: v1
data:
FLOWER: "ROSE"
ANIMAL: "DOG"
FRUITS: "APPLE"
kind: ConfigMap
metadata:
name: example-configmap
namespace: [NAMESPACE]
2. 예제 deploy 생성
해당 yaml에서 중요한 부분은 spec.containers.envFrom 부분이다. envFrom으로 configMapRef을 선언하고 생성한 ConfigMap의 이름을 넣어준다. ConfigMapKeyRef는 key:value 쌍이 1개지만, envFrom은 통으로 받아들인다.
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: env-busybox
name: env-busybox
namespace: [NAMESPACE]
spec:
replicas: 1
selector:
matchLabels:
app: env-busybox
template:
metadata:
labels:
app: env-busybox
spec:
containers:
- image: busybox:latest
name: busybox
command:
- sleep
- "3600"
envFrom:
- configMapRef:
name: example-configmap
3. 확인
정상적으로 N개 이상의 환경변수가 mount 된 것을 알 수 있다.
728x90
'Cloud > k8s' 카테고리의 다른 글
kubectl config로 default namespace 변경 하는 방법 (1) | 2023.03.22 |
---|---|
네임스페이스에 배포할 때, 특정 노드에만 배포하는 방법 (0) | 2022.12.26 |
Calico CNI를 이용하여 Pod 고정 IP 할당하는 방법 (0) | 2022.08.02 |
kubectl apply, create, patch, replace 비교 (2) | 2022.03.20 |
사이드카 컨테이너 restart 테스트 (0) | 2022.03.13 |
Comments