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 복제

image.png

StatefullSet의 삭제

image.png