본문 바로가기
Kubernetes(k8s)/따배쿠(따라하면서 배우는 쿠버네티스) 학습

[k8s]Kubernetes - Secret

by 열정주니어 2023. 3. 17.
반응형

ConfigMap과 Secret

  • ConfigMap: 컨테이너 구성 정보를 한곳에 모아서 관리
  • Secret: 컨테이너가 사용하는 password, auth token, ssh key와 같은 중요한 정보를 저장하고 민감한 구성정보를 base64로 인코딩하여 한곳에 모아서 관리
  • 민감하지 않은 일반 설정파일 -> configMap 사용 / 민감한 데이터 -> secret 사용
  • Secret 데이터 전달 방법
    • Command-line Argument
    • Environment Variable
    • Volume Mount

 

Secret 만들기

  • kubectl create secret <Available Commands> name [flags] [options]
    • Available Commands 종류
      • docker-registry
        • Create a secret for use with a Docker registry
      • generic
        • Create a secret from a local file, directory or literal value
      • tls
        • Create a TLS secret
    • Available Commands에 따라 들어가는 옵션이 달라짐
      • docker-registry
        • 인증 정보 / username, password, email-address
      • generic
        • user define 정보 / --from-literal, --from-file
      •  tls
        • public, private key 정보 / cert, key

Secret Type 종류

 

Secret 사용하기

  • 정의된 Secret을 Pod의 Container에 전달하는 방법
    • environment variable로 전달
    • command-line argument로 전달
    • volume에 secret을 사용하여 컨테이너 디렉토리에 mount

  • 생성한 secret을 컨테이너 환경변수(env)로 컨테이너에 전달하기

  • 생성한 secret을 컨테이너 volume mount로 전달하기

 

Secret 데이터 용량 제한

  • Secret etcd에 암호화하지 않은 텍스트로 저장되므로 secret value가 커지면 메모리 용량을 많이 사용하게 됨
  • secret의 최대 크기는 1MB

 

Reference

따배쿠34강

 

반응형