K8s3 이어서. ConfigMap & Secret
Secret
생성
비밀번호 확인
------------
kubectl create secret generic my-secret \\
--from-literal=username=admin \\
--from-literal=password=1234
--
apiVersion: v1
kind: Secret
metadata:
name: my-secret
type: Opaque
data:
username: YWRtaW4= # admin (base64 인코딩)
password: MTIzNA== # 1234 (base64 인코딩)
사용
환경변수로 주입
--------------
apiVersion: v1
kind: Pod
metadata:
name: secret-env-pod
spec:
containers:
- name: mycontainer
image: nginx
env:
- name: USERNAME
valueFrom:
secretKeyRef:
name: my-secret
key: username
- name: PASSWORD
valueFrom:
secretKeyRef:
name: my-secret
key: password
볼륨으로 주입
------------
apiVersion: v1
kind: Pod
metadata:
name: secret-volume-pod
spec:
containers:
- name: mycontainer
image: nginx
volumeMounts:
- name: secret-volume
mountPath: "/etc/secret"
readOnly: true
volumes:
- name: secret-volume
secret:
secretName: my-secret
StatefulSet
- 생성된 Pod마다 별도의 디스크 공간을 가져야 하는 경우
- 분산 기분 애플리케이션의 경우 호스트명, IP 등이 바뀌면 안됌
Pod 복제

- 사진과 같이 PVC-0, PVC A-1, PVC A-2 존재 시 순착적으로 생성되고 순차적으로 삭제 됌
StatefullSet의 삭제

- Pod를 삭제하는 경우 ID 값이 가장 큰 것부터 삭제