inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Xu hướng Kubernetes (Sơ cấp ~ Trung cấp)

ConfigMap, Secret - Env, Mount

운영환경에서의 secret 관리

4

jayh910kim6244

2 câu hỏi đã được viết

0

안녕하세요,

먼저 도움되는 강의 공유해주셔서 감사드립니다.


일반적으로 실제 운영 환경에서 Secret을 관리하는데 사용하는 방식이 있는지 궁금합니다.


실제로 제 시스템은 Helm 및 gitops를 사용중인데,
Secret의 경우 따로 yml 파일로 관리하지 않고 매번 직접 create 해서 사용합니다.

이 방식의 경우, 동일한 Secret들을 각각 다른 환경에 배포( dev, prd, dr 등) 할 경우 중복된 작업이 발생한다는 문제가 있는데요,

보통 운영환경에서는 이를 관리하는 방법이 있을까요?

다른 객체들처럼 git에 두고 관리하기에는 base64 디코딩만으로 민감정보가 노출이 될 수 있는거라..

암호화가 가능한 추가 tool을 함께 사용하나요?


추가로, 이와 같이 실제 운영시 k8s 객체들을 어떻게 다루는지에 대해서는 어떤 강의를 들으면 가장 도움이 될지도 문의드립니다.


감사합니다.

docker kubernetes devops container

Câu trả lời 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 김재현님

운영 환경에서 Kubernetes Secret을 GitOps로 관리할 때는, Secret을 평문 YAML이나 단순 Base64 인코딩 상태로 Git에 저장하지 않고 암호화 도구를 함께 사용하는 방식을 고려할 수 있습니다.

대표적으로 다음과 같은 방식이 있습니다.

  • SealedSecret: 클러스터의 공개키로 Secret을 암호화한 뒤 암호문을 Git에 저장합니다. 클러스터 내부의 Sealed Secrets Controller가 이를 복호화하여 실제 Secret을 생성하므로, 개발자가 GitOps 방식으로 환경별 Secret을 관리하기에 적합합니다.
  • 외부 Secret 관리 도구: HashiCorp Vault, AWS Secrets Manager, GCP Secret Manager 등과 연동하여 실제 민감정보는 외부에 보관하고 Kubernetes에는 필요한 시점에 주입하는 방식도 사용합니다.
  • 환경별 관리: Helm values, Kustomize overlay, Argo CD Application 구성 등으로 dev/prd/dr 환경을 분리하고, 암호화된 Secret 리소스 또는 외부 Secret 참조만 환경별로 관리할 수 있습니다.

질문하신 것처럼 Kubernetes Secret의 data 값은 기본적으로 암호화가 아닌 Base64 인코딩이므로, Base64만으로는 민감정보 보호가 되지 않습니다. 따라서 운영 환경에서는 접근 권한 관리와 함께 SealedSecret 같은 암호화 도구나 외부 Secret 저장소를 사용하는 경우가 많습니다. 다만 어떤 도구와 절차를 사용할지는 조직의 보안 정책과 운영 환경에 따라 달라집니다.

유사한 질문과 지식공유자님의 답변을 아래에서 확인해 보실 수 있습니다.

SealedSecret 관련 궁금증

해당 답변에서는 기본적으로 DevOps용 Git Repository와 접근 권한을 분리하여 관리하는 방법, SealedSecret을 사용해 암호화된 값을 Git에 저장하는 방법, 그리고 팀의 성숙도와 운영 환경에 따라 관리 절차를 정하는 기준을 설명하고 있습니다.

또한 Kubernetes Secret의 Base64 인코딩과 보안상 주의점에 대해서는 아래 답변도 참고하실 수 있습니다.

ConfigMap, Sercret - 실습 강의 1분 20초 쯤에 대한 문의입니다!

이 답변에서는 Secret 값의 Base64 인코딩은 암호화와 다르며, 실제 보안은 Kubernetes 권한 관리와 별도의 암호화·Secret 관리 체계를 함께 고려해야 한다는 점을 설명합니다.

현재 수강 중인 대세는 쿠버네티스 (초급~중급편)에서 Kubernetes Secret, Helm, GitOps의 기본 개념을 익힌 뒤, 운영 관점에서는 SealedSecret 또는 Argo CD와 외부 Secret 저장소 연동 방식을 추가로 학습하시면 도움이 됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

7강 설치 질문

0

6

1

ClusterIP 실습 시 Connection refused

0

15

2

virtualbox 설치시

1

46

1

이거 지금 부터 들어도 괜찮을까요 ?? 시간이 꽤지난거같은데 .. 뭐 최신하고 아에 안맞을까요 .

0

110

1

pod kubetm/app 에서 image를 갑자기 못가져 오는거 같습니다.

1

97

2

3. Node Schedule 중 pod-5가 마스터 노드에 배치됩니다.

1

96

2

volume hostpath의 강의에 관해 질문이 있습니다.

1

83

2

컨트롤러

1

99

2

네임스페이스+파드

0

98

3

강의영상 과 자료

0

98

2

IP 가 어딨나요?

1

87

2

설치 문제 없는건가요?

1

83

1

xshell 접속오류

1

135

2

[15. ConfigMap, Secret - 실습] Env (File) 실습 시 문의사항

1

108

2

Node Schedule 실습 시 pod3 생성 시 메모리 요청량이 올라가지 않는 사항

1

92

1

Guest OS

1

99

2

kubeTM Blog는 없어진건가요????

1

120

2

yml 작성하다가 에러 발생해서 문의 드립니다.

0

126

2

설치수업중에 질문드립니다.

1

163

2

기초다지기 설치 문의드립니다.

1

231

4

HPA 부분 Auto Scaler 설치하는 링크가 없습니다!!

1

122

3

클러스터 초기화 및 팟 네트워크 세팅시 문제가 있습니다

1

156

1

환경 구성에 있어서 질문드립니다

1

155

2

configMap 파일생성

1

133

2