개요
- 쿠버네티스 Secret
- Kubernetes 시크릿, 비밀
- 패스워드, OAuth 토큰, SSH key와 같은 민감한 정보를 담은 것
- REST 암호화를 포함하여, 민감한 정보가 사용되는 방법을 통제하고 사고로 노출될 위험성을 낮추어 준다.
- Pod에서는 볼륨 마운트 내의 파일로서, 또는 pod用 kubelet pulling 이미지에 의해 시크릿을 참조한다.
- Secret은 기밀 데이터 취급에 적합하고, ConfigMaps는 非기밀 데이터 취급에 적합한다.
- base64 인코딩되어 저장된다.
- 추가적인 설정이 없다면 암호화되지는 않는다.
- 컨테이너에서 환경변수로 불러 쓰는 경우가 많다.
apiVersion: v1
kind: Secret
metadata:
name: secret-basic-auth
type: kubernetes.io/basic-auth
stringData:
username: admin
password: t0p-Secret
apiVersion: v1
kind: Secret
metadata:
name: secret-ssh-auth
type: kubernetes.io/ssh-auth
data:
# the data is abbreviated in this example
ssh-privatekey: |
MIIEpQIBAAKCAQEAulqb/Y ...
apiVersion: v1
kind: Secret
metadata:
name: secret-tls
type: kubernetes.io/tls
data:
# the data is abbreviated in this example
tls.crt: |
MIIC2DCCAcCgAwIBAgIBATANBgkqh ...
tls.key: |
MIIEpgIBAAKCAQEA7yn3bRHQ5FHMQ ...
apiVersion: v1
kind: Secret
metadata:
name: bootstrap-token-5emitj
namespace: kube-system
type: bootstrap.kubernetes.io/token
stringData:
auth-extra-groups: "system:bootstrappers:kubeadm:default-node-token"
expiration: "2020-09-13T04:39:10Z"
token-id: "5emitj"
token-secret: "kq4gihvszzgn1p0r"
usage-bootstrap-authentication: "true"
usage-bootstrap-signing: "true"
apiVersion: v1
kind: Secret
metadata:
name: appname
data:
key: value
같이 보기
참고