Infisical 시크릿 관리 쿠버네티스 Helm 설치 및 연동

💡 핵심 요약 (Executive Summary)

본 가이드는 쿠버네티스 Helm 패키지 매니저 infisical 핵심 가이드 및 실전 아키텍처의 핵심 개념, 실전 구성 명령어 및 아키텍처 베스트 프랙티스를 다룹니다. 클라우드 네이티브 및 인프라 엔지니어링 실무에 즉시 활용 가능하도록 체계적으로 정리했습니다.

📑 Table of Contents
참고자료
헬름 설치
ENV
연관문서
Setup
bash
helm repo add infisical https://dl.cloudsmith.io/public/infisical/helm-charts/helm/charts/
helm pull infisical/infisical-standalone --untar

appname=infisical
ns=infisical
AUTH_SECRET=$(openssl rand -base64 32)
ENCRYPTION_KEY=$(openssl rand -hex 16)

kubectl apply -f - <<EOF
apiVersion: v1
kind: Secret
metadata:
  name: infisical-secrets
  namespace: $ns
type: Opaque
stringData:
  AUTH_SECRET: $AUTH_SECRET
  ENCRYPTION_KEY: $ENCRYPTION_KEY
EOF

helm install -n $ns $appname .
External DB, Redis 사용시
DB
sql
CREATE USER infisical PASSWORD 'infisical' SUPERUSER;
CREATE DATABASE infisical OWNER infisical;
helm
bash
appname=infisical
ns=infisical
AUTH_SECRET=$(openssl rand -base64 32)
ENCRYPTION_KEY=$(openssl rand -hex 16)
REDIS_URL=redis://default:[email protected]:6379
DB_CONNECTION_URI=postgresql://infisical:[email protected]:5432/infisical

kubectl apply -f - <<EOF
apiVersion: v1
kind: Secret
metadata:
  name: infisical-secrets
type: Opaque
stringData:
  AUTH_SECRET: $AUTH_SECRET
  ENCRYPTION_KEY: $ENCRYPTION_KEY
  REDIS_URL: $REDIS_URL
  DB_CONNECTION_URI: $DB_CONNECTION_URI
EOF

vi values.yaml
---

postgresql.enabled = false
redis.enabled = false
---

helm install -n $ns $appname .

#DB마이그레이션 성공 이후 더이상 진행되지 않는 경우
vi values.yaml
---
infisical.autoDatabaseSchemaMigration = false
---

helm upgrade -n $ns $appname .
kubernetes Operator Setup
shell
#helm install --generate-name infisical-helm-charts/secrets-operator --version=<PLACE-CHART-VERSION-HERE> --set controllerManager.manager.image.tag=<PLACE-APP-VERSION-HERE>
#helm install --generate-name infisical-helm-charts/secrets-operator --version=0.1.4 --set controllerManager.manager.image.tag=v0.2.0
helm pull infisical/secrets-operator --untar
helm install -n kube-system secrets-operator .

#머신ID, Secret으로 secret 생성
#kubectl create secret -n kube-system generic infisical-universal-auth-credentials --from-literal=clientId="e6f5f702-ca52-44ff-8d52-e7960de4a810" --from-literal=clientSecret="174c549f90cf26f6c38bd93a5cf192712fa5225cdbd6f01ea4b08da799722ce3"
kubectl create secret -n kube-system generic infisical-universal-auth-credentials --from-literal=clientId="<your-identity-client-id>" --from-literal=clientSecret="<your-identity-client-secret>"
kubectl apply -f $sample.yaml

sample:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *