OpenShift ConfigMap 정리 > PaaS

본문 바로가기
사이트 내 전체검색

PaaS

OpenShift ConfigMap 정리

페이지 정보

profile_image
작성자 PaaSM
댓글 0건 조회 116회 작성일 21-01-21 22:15

본문

안녕하세요.

컨피그맵은 컨테이너에서 필요한 환경설정 내용을 컨테이너와 분리해서 제공해주는 기능입니다. 애플리케이션을 배포하다 보면 환경에 따라서 다른 설정 값을 사용하는 경우가 있는데, 애플리케이션 이미지는 같지만 환경 변수가 차이 나는 경우 매번 다른 컨테이너 이미지를 만드는 것은 관리상 불편할 수 밖에 없는데, 컨피그맵은 컨테이너와 환경설정 컨피그맵으로 분리해 둠으로써 하나의 이미지로 개발 / 운영이 가능해집니다.

컨피그맵은 암호화되지 않는 정보, 보통 애플리케이션의 설정 값으로 배포할 때 사용됩니다. 클러스터에 민감한 정보를 사용하려면 "Secret" 기능을 이용해야 합니다.

ConfigMap에 정의해놓은 값을 Pod로 넣는 방법은 크게 두가지가 있습니다.
 - 정의한 값을 Pod의 환경 변수 (Environment variable)로 넘기는 방법
 - 정의한 값을 Pod의 디스크 볼륨으로 마운트 하는 방법

Configmap 작성
명령어를 사용하여 ConfigMap 디렉토리, 특정 파일 또는 literal 값을 넣어 작성할 수 있습니다.

Directory 방식
데이터를 채울 데이터가 포함된 파일이 있는 디렉토리를 ConfigMap으로 만드는 방식입니다.
hello.properties와 lds.properties 라는 파일이 있고 파일의 내용이 아래와 같습니다.

$ ls example-files
hello.properties
lds.properties

$ cat example-files/hello.properties
myname=lds
email=lds@linuxdata.co.kr
address=samseong

$ cat example-files/lds.properties
color.good=purple
color.bad=yellow
allow.textmode=true
how.nice.to.look=fairlyNice

디렉토리 방식으로 Configmap을 만들 땐 --from-file 옵션으로 디렉토리를 지정해주면 됩니다.
디렉토리에 있는 각 파일의 이름이 Key가 되고 Value는 파일의 내용이 됩니다.

$ oc create configmap hello-config \
--from-file=example-files/

하나의 ConfigMap에 여러 개의 키가 생성된 것을 확인할 수 있습니다.
(describe 옵션을 사용하였을 땐 키의 이름과 크기만 표시됩니다)
$ oc describe configmaps hello-config
Name:                hello-config
Namespace:      default
Labels:              <none>
Annotations:    <none>

Data
hello.properties:    54 bytes
lds.properties:            83 bytes

키 값을 보려면 oc get다음 -o 옵션을 사용 하여 객체를 만들 수 있습니다.
(ex oc get configmaps hello-config -o yaml)

File 방식
설정을 파일 형태로 해서 Pod에 공유하는 방법도 있습니다.
hello.properties 라는 파일이 있고 파일의 내용이 아래와 같습니다.
myname=lds
email=lds@linuxdata.co.kr
address=samseong

파일을 이용해서 ConfigMap을 만들때는 아래와 같이 --from-file 을 이용해서 파일명을 넘겨주면 됩니다.
파일을 이용해서 ConfigMap을 생성하면, 아래와 같이 키는 파일명이 되고, 값은 파일 내용이 됩니다.

$ oc create configmap hello-world \
    --from-file=example-files/hello.properties

Literal 방식
문자로 간단하게 생성하는 방법 키가 “hello” 로 하고 값이 “world인 config 맵을 생성합니다.
$ oc create configmap hello-config \
    --from-literal=hello=world

또는 YAML 파일로도 작성할 수 있습니다.

hello-world.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: hello-config
data:
  hello: world

데이터 항목에 [Key] : [Value] 형식으로 라인을 추가하면 여러개의 값을 하나의 ConfigMap에 저장할 수 있습니다.

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : (주)리눅스데이타시스템 / 대표 : 정정모
서울본사 : 서울특별시 강남구 봉은사로 114길 40 홍선빌딩 2층 / tel : 02-6207-1160
대전지사 : 대전광역시 유성구 노은로174 도원프라자 5층 / tel : 042-331-1161

접속자집계

오늘
248
어제
240
최대
680
전체
28,270
Copyright © www.linuxdata.org All rights reserved.