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 / operatorkubeseal암호화된 secret 은 SealedSecret 리소스로 생성된다.
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
name: mysecret
namespace: mynamespace
spec:
encryptedData:
foo: AgBy3i4OJSWK+PiTySYZZA9rO43cGDEq.....
해당 파일을 secret 으로 복호화할 경우