[k8s] ConfigMap

이정훈·2023년 4월 24일
0

k8s

목록 보기
7/17
post-thumbnail
post-custom-banner
  • 설정들을 mapping
  • 프로젝트할 때.. 이메일인증을 그냥 올렸더니. 내 이메일 많이 사용했다...
  • 알려지면 안되는 값들을 키:값 으로 저장해 놓고 사용!
  • 컨테이너가 설정값들을 가져올 수 있도록!

ConfigMap

  • 암호화하려면 secrit을 사용!
  • configmap 생성
apiVersion: v1
kind: ConfigMap
metadata:
  name: cm-dev
data:
  SSH: 'false'
  User: dev
  • pod 생성시 환경변수 입력
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
  • 확인

django - db 연동

  • 공유되면 안되는 파일을 따로 관리를!
  • config-setting 에서 노출되면 안되는 정보들

DB

  • configmap
apiVersion: v1
kind: ConfigMap
metadata:
  name: mysql-dev
data:
  MYSQL_ROOT_PASSWORD: 'qwer1234'
  • pod
apiVersion: v1
kind: Pod
metadata:
  name: mysql-pod
spec:
  containers:
  - name: container
    image: mysql:8.0.32-debian
    envFrom:
    - configMapRef:
        name: mysql-dev

  • database 'web' 만들어주기

django

  • Dockerfile
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
  • configmap
apiVersion: v1
kind: ConfigMap
metadata:
  name: django-dev
data:
  "DBHOST": "[pod에 생성된 DB IP 주소]"
  "DBNAME": "web"
  "DBPASS": "qwer1234"
  "DBPORT": "3306"
  "DBUSER": "root"
  • pod
apiVersion: v1
kind: Pod
metadata:
  name: django-pod
spec:
  containers:
  - name: container
    image: ddarahakit2023/dj:1.2
    # 도커 이미지를 잘못만들었다... 이 이미지 사용!
    envFrom:
    - configMapRef:
        name: django-dev

  • django Pod IP 확인
profile
싱숭생숭늉
post-custom-banner

0개의 댓글