- 설정들을 mapping
- 프로젝트할 때.. 이메일인증을 그냥 올렸더니. 내 이메일 많이 사용했다...
- 알려지면 안되는 값들을 키:값 으로 저장해 놓고 사용!
- 컨테이너가 설정값들을 가져올 수 있도록!
ConfigMap
- 암호화하려면 secrit을 사용!
- configmap 생성
apiVersion: v1
kind: ConfigMap
metadata:
name: cm-dev
data:
SSH: 'false'
User: dev
apiVersion: v1
kind: Pod
metadata:
name: volume-test-node-01
labels:
app: volume
spec:
nodeSelector:
kubernetes.io/hostname: node-01
containers:
- name: hello-container1
image: gugucone/hello:8000
volumeMounts:
- name: host-path
mountPath: /db-data
ports:
- containerPort: 8000
envFrom:
- configMapRef:
name: cm-dev
- 확인
![](https://velog.velcdn.com/images/jujuju914/post/5f6e7a7d-1867-41eb-ae55-14b090a5ad39/image.png)
django - db 연동
![](https://velog.velcdn.com/images/jujuju914/post/ba296675-10c4-489e-971d-5863e5add7a3/image.png)
- 공유되면 안되는 파일을 따로 관리를!
- config-setting 에서 노출되면 안되는 정보들
DB
apiVersion: v1
kind: ConfigMap
metadata:
name: mysql-dev
data:
MYSQL_ROOT_PASSWORD: 'qwer1234'
apiVersion: v1
kind: Pod
metadata:
name: mysql-pod
spec:
containers:
- name: container
image: mysql:8.0.32-debian
envFrom:
- configMapRef:
name: mysql-dev
![](https://velog.velcdn.com/images/jujuju914/post/3e81726a-402a-4d87-a3b6-274cfcfbf7c4/image.png)
django
![](https://velog.velcdn.com/images/jujuju914/post/25b8d70d-7d3b-4688-a04a-0f8100163698/image.png)
FROM python:3.9
ENV PYTHONUNBUFFERED 1
WORKDIR /app
COPY requirements.txt /app/requirements.txt
COPY . /app
RUN pip install -r requirements.txt
CMD python manage.py makemigrations
CMD python manage.py migrate
CMD python manage.py runserver 0.0.0.0:8000
apiVersion: v1
kind: ConfigMap
metadata:
name: django-dev
data:
"DBHOST": "[pod에 생성된 DB IP 주소]"
"DBNAME": "web"
"DBPASS": "qwer1234"
"DBPORT": "3306"
"DBUSER": "root"
apiVersion: v1
kind: Pod
metadata:
name: django-pod
spec:
containers:
- name: container
image: ddarahakit2023/dj:1.2
# 도커 이미지를 잘못만들었다... 이 이미지 사용!
envFrom:
- configMapRef:
name: django-dev
![](https://velog.velcdn.com/images/jujuju914/post/63512f2e-db6a-4eeb-ad57-51b23f1a22db/image.png)