728x90
Kubernetes ConfigMap
설정 정보를 key-value 값으로 저장
key-value외에도 conf파일 자체를 저장할 수 있음
최대 1MB의 사이즈 저장 가능
kubectl을 통해 파일 참조하여 생성, 직접 값 전달하여 생성할 수 있음
추가로 manifest로도 생성 가능
#파일 참조
$ kubectl create configmap sample-configmap --from-file=./nginx.conf
#직접 전달
$ kubectl create configmap sample-configmap --from-literal=NODE_ENV=production
#manifest 생성
apiVersion: v1
kind: ConfigMap
metadata:
name: ~~
data:
NODE_ENV: "production"
nginx.conf: |
user nginx;
error_log /var/log/nginx/error.log;
...
#확인
$ kubectl get configmap
$ kubectl describe configmap {{cm-name}}
ConfigMap 사용
환경 변수로 전달하는 방법과 볼륨 마운트하여 사용하는 방식이 있음
#환경변수 하나씩 지정하여 사용
apiVersion: v1
kind: Pod
metadata:
name: ~~
spec:
containers:
- name: ~~
image:~~
env:
- name: NODE_ENV
valueFrom:
configMapKeyRef:
name: sample-configmap
key: NODE_ENV
#configmap전체의 키를 전달
apiVersion: v1
kind: Pod
metadata:
name: ~~
spec:
conainers:
- name: ~~
image: ~~
envFrom:
- configMapRef:
name: sample-configmap
환경변수 명을 하나씩 key값으로 지정하여 사용 가능하고 또는 Configmap전체를 한번에 전달하여 사용할 수 있음
#한개의 키를 volume mount
apiVersion: v1
kind: Pod
metadata:
name: ~~
spec:
containers:
- name: ~~
image: ~~
volumeMounts:
- name: config-volume
mountPath: /config
volumes:
- name: config-volume
configMap:
name: sample-configmap
items:
- key: nginx.conf
path: nginx-sample.conf
#configmap전체를 volume mount
apiVersion: v1
kind: Pod
metadata:
name: ~~
spec:
containers:
- name: ~~
image: ~~
volumeMounts:
- name: config-volume
mountPath: /config
volumes:
- name: config-volume
configMap:
name: sample-configmap
환경변수를 전달할때와 같이 volume mount도 일부 키만 사용하거나 전체 configmap을 적용할 수 있음
앞선 두 케이스에서 전체 configmap을 적용하게 될때는 어떤 값이 정의되었는지 확인하기 어렵기 때문에 유의할 필요가 있음
반응형
'개발 > 개발공부' 카테고리의 다른 글
Kubernetes Statefulset / 쿠버네티스, 워크로드, 스테이트풀셋, 서비스 (0) | 2023.01.27 |
---|---|
Kubernetes Deployment / 쿠버네티스, 패턴, pattern, 선언적 배포, 디플로이먼트 (2) | 2023.01.26 |
Kubernetes EnvVar / 쿠버네티스, 패턴, pattern, 환경변수, dockerfile, env (0) | 2023.01.25 |
Kubernetes Sidecar Container / 쿠버네티스, 사이드카, 컨테이너, 패턴, pattern (2) | 2023.01.23 |
Kubernetes Pod Lifecycle / container, pod, 수명주기, 관리 (0) | 2023.01.22 |
댓글