Developing

패스트캠퍼스 캐시백 챌린지 64일차 본문

Devops/Fastcampus 캐시백 챌린지

패스트캠퍼스 캐시백 챌린지 64일차

DEV_BLOG 2022. 6. 20. 22:12

수강 인증샷

Secret API Resource와 관련된 내용의 클립을 수강하는식으로 챌린지를 진행하였다. 민감한 정보의 데이터를 컨테이너에 주입할 때 사용하는 내용을 알게되었다. 챌린지 종료까지 단 2일남았는데 조금만 더 기운을 내보려고 한다..ㅎㅎ

다음 포스팅으로는 namespace와 관련된 내용을 포스팅할 예정이다.

 

시크릿(Secret)

  • 컨피그맵과 사용법이 비슷
  • 시크릿은 사용 목적에 따라 몇 가지 종류로 나누어짐
  • 쿠버네티스는 기본적으로 시크릿 값을 저장할 때 Base64 인코딩

⇒ 패스워드, API, SSH Key 등 민감한 정보를 컨테이너에 주입해야 할 때 사용

Secret의 종류

  1. Opaque (generic) : 일반적인 용도의 시크릿
  2. dockerconfigjson : 도커 이미지 저장소 인증 정보
  3. tls - TLS 인증서 정보
  4. service-account-token - ServiceAccount의 인증 정보

 

Kubectl Secret 생성 명령어 (generic)

# my-secret 이름의 generic 타입 Secret 생성
$ kubectl create secret generic my-secret

# my-secret 이름의 generic 타입 Secret 생성 - 로컬의 secret.yaml 파일을 secret.yaml 키로 저장
$ kubectl create secret generic my-secret --from-file secret.yaml

# my-secret 이름의 generic 타입 Secret 생성 - 로컬의 secret.yaml 파일을 secret을 키로 저장
$ kubectl create secret generic my-secret --from-file secret=secret.yaml

# my-secret 이름의 generic 타입 Secret YAML 출력 - 로컬의 secret.yaml 파일을 secret을 키로 저장
$ kubectl create secret generic my-secret --from-file secret=secret.yaml --dry-run -o yaml

실습링크는 하단의 링크에 해당한다.

https://github.com/tedilabs/fastcampus-devops/tree/main/3-docker-kubernetes/11-k8s-secret

 

Secret의 선언적 관리

  • Secret은Git과 같은 버전관리시스템에서 관리하기에 기밀 정보가 담겨 있어 부적절

⇒ 2가지의 대안: External Secrets / Sealed Secrets

 

  • External Secrets

⇒ HaschiCorp Valut, AWS Secrets Manager등과 통합 : 다른 스크립트 백엔드와 연결하여 해결

⇒ ExternalSecret 오브젝트를 생성하면 컨트롤러가 프로바이더로부터 기밀 값을 가져와서 Secret 오브젝트 생성

https://github.com/external-secrets/external-secrets

 

 

  • Sealed Secrets

⇒ 쿠버네티스 클러스터 상에 컨트롤러 실행

⇒ 클러스터 상에 암호화 키 보관

⇒ kubeseal CLI가 컨트롤러와 통신하며 데이터 암호화

⇒ SealedSecret 오브젝트를 생성하면 컨트롤러가 복호화하여 Secret 오브젝트 생성

https://github.com/bitnami-labs/sealed-secrets

 

 

 

 

 

 

 

 

 

https://bit.ly/3L3avNW

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

* 본 포스팅은 패스트캠퍼스 환급 챌린지를 위해 작성되었습니다.