.env 파일이 있다고 가정하고, Kubernetes Secret을 생성합니다:
# Secret 생성 (최초 1회)
kubectl create secret generic acc-backend-secret \
--from-env-file=backend/.env \
--namespace=acc
# Secret 업데이트 (기존 Secret이 있을 경우)
kubectl create secret generic acc-backend-secret \
--from-env-file=backend/.env \
--namespace=acc \
--dry-run=client -o yaml | kubectl apply -f -또는 개별 키-값으로 생성:
kubectl create secret generic acc-backend-secret \
--from-literal=DATABASE_URL=postgresql://localhost:5432/mydb \
--from-literal=API_KEY=your-api-key \
--namespace=acc# Secret 목록 확인
kubectl get secrets -n acc
# Secret 상세 정보 확인 (값은 base64 인코딩됨)
kubectl get secret acc-backend-secret -n acc -o yaml
# Secret 값 디코딩하여 확인
kubectl get secret acc-backend-secret -n acc -o jsonpath='{.data}' | jq -r 'to_entries[] | "\(.key)=\(.value | @base64d)"'환경 변수를 변경한 후 Secret을 업데이트하려면:
# Secret 삭제 후 재생성
kubectl delete secret acc-backend-secret -n acc
kubectl create secret generic acc-backend-secret \
--from-env-file=backend/.env \
--namespace=acc또는 위의 --dry-run=client -o yaml | kubectl apply -f - 방법을 사용하세요.
.env파일은.gitignore에 포함되어 Git에 커밋되지 않습니다.- Secret은 Kubernetes에 저장되므로 별도로 관리해야 합니다.
- Pod가 Secret을 참조하고 있으므로, Secret을 업데이트한 후 Pod를 재시작해야 변경사항이 적용됩니다.