apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
volumeMounts:
- name: nginx-config
# 실제로 마운트를 할 위치를 설정한다.
mountPath: /etc/nginx/conf.d
volumes:
# 파드 레벨에서 볼륨을 설정한 다음, 해당 파드 내의 컨테이너에 마운트한다.
- name: nginx-config
configMap:
# 마운트하려는 컨피그맵의 이름을 제공한다.
name: nginx
이런식으로 원하는 위치에 원하는 설정을 넣을 수 있습니다.
ConfigMap 관련 명령어
kubectl get configmap # 전체 configmap 가져오기
kubectl describe configmap <configmap 이름> # 해당 configmap 내용 가져오기
kubectl edit configmap <configmap 이름> # 해당 configmap 내용 수정하기
kubectl delete configmap <configmap 이름> # 해당 configmap 내용 삭제하기
시크릿(Secret)
시크릿은 암호, 토큰 또는 키와 같은 소량의 중요한 데이터를 포함하는 오브젝트입니다.
특히나 깃허브 기반으로 하고 있는 크램폴린IDE 에서 비밀키나 api키 부분에 걱정이 많으실텐데요.
깃허브에 올리지 않고, Secret을 이용해서 IDE 안에서 쿠버네티스에 적용 시킬 수 있습니다.
kustomization을 이용해서 만드는법
ConfigMapGenerator 와 비슷한 방법을 사용하고 있는데요. 바로 kustomization 의 secretGenerator 입니다.
kubectl get secret # 전체 secret 가져오기
kubectl describe secret <configmap 이름> # 해당 secret 내용 가져오기
kubectl edit secret <configmap 이름> # 해당 secret 내용 수정하기
kubectl delete secret <configmap 이름> # 해당 secret 내용 삭제하기