Link Search Menu Expand Document

구성 실습

Table of contents

  1. 실습문제

Namespace


실습문제

1. 아래 속성으로 새 시크릿과 컨피그맵을 생성하고, 생성한 시크릿과 컨피그맵을 Pod에 사용하세요.

  • 단, 컨피그맵은 Pod에 볼륨 마운트하고, 시크릿은 Pod에 환경변수로 사용하세요.

  • Pod

- Pod name: lab-config-demo-pod
  image name: proxy.accordions.co.kr/nginx:latest
  • 시크릿
- 시크릿 이름: lab-config-demo-secret
- key1: player_initial_lives
  value1: "3"

- key2: ui_properties_file_name
  value2: "user-interface.properties"
  • 컨피그맵
- 컨피그맵 이름: lab-config-demo-configmap

key: nginx.conf

value:
  user  nginx;
  worker_processes  auto;
  error_log  /var/log/nginx/error.log notice;
  pid        /var/run/nginx.pid;

  events {
      worker_connections  1024;
  }


  http {
      include       /etc/nginx/mime.types;
      default_type  application/octet-stream;

      log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                        '$status $body_bytes_sent "$http_referer" '
                        '"$http_user_agent" "$http_x_forwarded_for"';
      access_log  /var/log/nginx/access.log  main;
      sendfile        on;
      #tcp_nopush     on;
      keepalive_timeout  65;
      #gzip  on;
      include /etc/nginx/conf.d/*.conf;
  }
예제 Yaml
---
apiVersion: v1
kind: Pod
metadata:
  name: lab-config-demo-pod
spec:
  containers:
    - name: nginx
      image: proxy.accordions.co.kr/nginx:latest
      env:
        - name: PLAYER_INITIAL_LIVES
          valueFrom:
            secretKeyRef:
              name: lab-config-demo-secret
              key: player_initial_lives
        - name: UI_PROPERTIES_FILE_NAME
          valueFrom:
            secretKeyRef:
              name: lab-config-demo-secret
              key: ui_properties_file_name
      volumeMounts:
      - name: config
        mountPath: "/config"
        readOnly: true
  volumes:
  - name: config
    configMap:
      name: lab-config-demo-configmap

3. Pod에 터미널 접근하여 환경 변수 및 volumeMount한 설정 파일을 확인하세요.

HINT

- 볼륨 마운트 확인 명령어: df -Th && ls -l /config

- 환경 변수 확인 명령어: env | egrep -i "ui_properties|player"

4. 생성한 리소스들을 삭제하세요.