쿠버네티스 환경변수(env), 컨피그맵(ConfigMap), 시크릿(Secrets) 개념 및 설정

ZER0·2022년 10월 18일
0

Kubernetes

목록 보기
19/39
post-thumbnail

1. 개념

  • 파드에 환경변수를 지정하거나 데이터, 설정 등을 저장할 때 3가지 방식(환경변수, 컨피그맵, 시크릿) 활용 가능
  • 시크릿의 경우 입력한 값이 base64로 인코딩되어 저장

2. 환경변수(env) 설정

  • 환경변수 설정
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    apiVersion: v1
    kind: Pod
    metadata:
      name: env-test
      labels:
        run: env-test
    spec:
      containers:
      - name: env-test
        image: kodekloud/webapp-color
        env:
        - name: APP_COLOR
          value: green
    cs
	9번 : 환경변수 선언
    10번 : 환경변수 이름
    11번 : 환경변수 값
  • 환경변수 적용 확인

3. 컨피그맵(ConfigMap) 설정

3.1. 컨피그맵 핸들링

  • yaml 파일을 활용한 컨피그맵 생성
    1
    2
    3
    4
    5
    6
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: test-configmap-yaml
    data:
      APP_COLOR: blue
    cs
  • 명령어를 활용한 컨피그맵 생성
	kubectl create configmap [컨피그맵_이름] --from-literal=[키]=[값]
    or
    kubectl create configmap [컨피그맵_이름] --from-file=[컨피그_파일]
  • 컨피그맵 목록 확인
	kubectl get configmap 
  • 컨피그맵 세부 정보 확인
	kubectl describe configmap [컨피그맵_이름]

3.2. 컨피그맵 적용

  • 명령어로 컨피그맵 생성
  • yaml 파일로 컨피그맵 생성
  • 파드에 컨피그맵 적용
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    apiVersion: v1
    kind: Pod
    metadata:
      labels:
        run: nginx
      name: nginx
    spec:
      containers:
      - image: kodekloud/webapp-color
        name: nginx
        envFrom:
          - configMapRef:
              name: test-configmap-command
    cs
	11~13번 : 컨피그맵을 설정하는 부분
    13번 : 설정할 컨피그맵 이름
  • 컨피그맵 적용 확인(command)
  • 컨피그맵 적용 확인(yaml)

4. 시크릿(Secrets) 설정

4.1. 시크릿 핸들링

  • yaml 파일을 활용한 시크릿 생성
    1
    2
    3
    4
    5
    6
    apiVersion: v1
    kind: Secret
    metadata:
      name: test-secret-yaml
    data:
      APP_COLOR: pink
    cs
  • 명령어를 활용한 시크릿 생성
	kubectl create secret generic [시크릿_이름] --from-literal=[키]=[값]
    or
    kubectl create secret generic [시크릿_이름] --from-file=[시크릿_파일]
  • 시크릿 목록 확인
	kubectl get secret 
  • 시크릿 세부 정보 확인
	kubectl get secret [시크릿_이름] -o yaml
    or
	kubectl describe secret [시크릿_이름]

4.2. 시크릿 적용

  • 명령어로 시크릿 생성
  • yaml 파일로 시크릿 생성
  • 생성된 시크릿 확인
  • 파드에 시크릿 적용
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    apiVersion: v1
    kind: Pod
    metadata:
      labels:
        run: nginx
      name: nginx
    spec:
      containers:
      - image: kodekloud/webapp-color
        name: nginx
        envFrom:
          - secretRef:
              name: test-secret-command
    cs
	11~13번 : 시크릿을 설정하는 부분
    13번 : 설정할 시크릿 이름
  • 시크릿 적용 확인(command)
  • 시크릿 적용 확인(yaml)

5. 참고

  1. https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/
profile
Security Compliance Engineer

0개의 댓글