kubectl create secret generic --type
type: Opaque
사용Opaque
타입 이외의 리소스에는 스키마가 정해져 있다.Opaque
타입 생성 패턴
kubectl
로 파일에서 값을 참조하여 생성(--from-file
)
--from-file=username=username.txt
등과 같이 지정한다.echo -n
출력 결과를 리다이렉트하여 파일에 쓰는 방법 사용kubectl
로 envfile에서 값을 참조하여 생성(--from-env-file
)
도커나 쿠버네티스에서 사용 가능한 envfile 예제(env-secret.txt
)
username=root
password=rootpassword
env 파일로 시크릿 생성
kubectl create secret generic --save-config sample-db-auth \\
--from-env-fild ./env-secret.txt
kubectl
로 직접 값을 전달하여 생성(--from-literal
)
kubectl create secret generic --save-config sample-db-auth \\
--from-literal=username=root --from-literal=password=rootpassword
매니페스트에서 생성(-f
)
apiVersion: v1
kind: Secret
metadata:
name: sample-db-auth
type: Opaque
data:
username: cm9vdA== # root
password: cm9vdHBhc3N3b3Jk # rootpassword
apiVersion: v1
kind: Secret
metadata:
name: sample-db-auth-nobase64
type: Opaque
stringData:
username: root
password: rootpassword
--key/--cert)
kubectl create secret tls --save-config tls-sample --key ~/tls.key --cert ~/tls.crt
사용자명과 패스워드로 인증하는 시스템을 사용하는 경우 기본 인증요 스키마를 가진 시크릿을 생성한다.
kubectl로 직접 값을 전달하여 생성(--from-literal
)
# 직접 옵션에서 type과 값을 지정하여 시크릿 생성
kubectl create secret generic --save-config sample-basic-auth \\
--type kubernetes.io/basic-auth \\
--from-literal=username=root --from-literal=password=rootpassword
매니페스트에서 생성(-f
)
apiVersion: v1
kind: Secret
metadata:
name: sample-basic-auth
type: kubernetes.io/basic-auth
data:
username: cm9vdA== # root
password: cm9vdHBhc3N3b3Jk #rootpassword