본문 바로가기

TEAM STUDY/대세는 쿠버네티스 [초급~중급]

▶ kubernetes - ConfigMap, Secret

728x90
반응형

 

특정 서비스를 개발버전과, 상용버전으로 관리할 때

 

요구조건

  • 개발
    • SSH : False
    • User : Dev
    • Key : LS0tLs00000000000
  • 운영
    • SSH : True
    • User : Prod
    • Key :MII3Ldasdasd

위의 요구조건과 같이 세팅을 하려면 서로 각각 다른 이미지 파일을 가지고 있어야하는데

용량이 큰 이미지 파일을 변수값만 다른 상태로 들고 있는건 잘못된 구조이다.

 

 

 

이런 경우에 아래와 같이 ConfigMap 과 Secret 을 이용할 수 있다.

 


ENV - Liternal

  • 컨피그맵은 키와 밸류로 구성이 되어있다.
  • 파드를 생성할 때 컨피그맵을 가져와서 컨테이너 안의 환경변수에 세팅을 할 수 있다.
  • 시크릿은 보안적인 요소의 값들을 저장하는 용도로 사용한다.
    • 패스워드
    • 인증키
  • 시크릿은 Base64 를 사용한다.
  • 하지만 Secret 값이 pod 로 주입이 될 때는 자동 디코딩이 되어 환경변수에서는 원래의 값이 보이게 된다.
  • 시크릿은 메모리에 저장이 된다.
  • 시크릿은 1Mbyte 까지 넣을 수 있다.
  • 시크릿은 메모리에 상주하기 때문에 너무 많이 만들면 시스템의 성능 저하로 이어질 수 있다.

 

ENV - File

  • 파일을 환경변수에 넣는방법이다.
  • 파일을 컨피그맵에 담을 수 있다.

 

Volume Mount - File

  • 컨테이너 안에 마운트 패스를 정의하고 해당 패스안에는 파일을 마운팅할 수 있다.
728x90
반응형