Base64 encoding is not an encryption method, it provides no additional confidentiality over plain text.
Secret
은 Base64로 인코딩된 값들이 저장된다.Secret
을 암호화해서 public(git) 에 올려야 한다.Problem: "I can manage all my K8s config in git, except Secrets."
secret
은 git 과 같은 public 에서 관리할 수 있도록 돕는다.secret
을 SealedSecret
을 통해 암호화할 경우 target cluster
에서 작동하는 controller
에 의해서만 복호화 가능하다.SealedSecret
은 누구나 어떠한 Secret
을 통해 생성할 수 있다. 따라서 cluster 에서 의도된 SealedSecret
만 upload 되도록 설정해야한다.Secret
의 내용이 cluster 바깥에서는 감춰진다는 점이다.Sealed Secrets
은 두 부분으로 구성된다.
controller
/ operator
kubeseal
암호화된 secret 은 SealedSecret
리소스로 생성된다.
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
name: mysecret
namespace: mynamespace
spec:
encryptedData:
foo: AgBy3i4OJSWK+PiTySYZZA9rO43cGDEq.....
해당 파일을 secret
으로 복호화할 경우