Recent Comments
Link
Recent Posts
Today
Total
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
관리 메뉴

Study Memory Work

[K8S/CKA 자격증] Worloads & Scheduling - Secret 본문

Infra/Kubernetes

[K8S/CKA 자격증] Worloads & Scheduling - Secret

Hera Choi 2023. 1. 22. 18:06

Secret

  • 컨테이너가 사용하는 구성 정보를 한곳에 모아서 관리.
  • 중요 정보를 base64로 인코딩하여 저장함.
  • 민감하지 않은 정보는 configmap, 민감한 정보는 secret에 저장

# Secret 생성
$ kubectl create secret {generic} eshop-secret --from-literal=PASSWORD=1234
					# docker-registry : docker registry접속에 관련된 데이터들 저장 시,
                    # tls : 인증서 관련 데이터 저장 시,
                    # generic : 그 외의 일반적인 데이터 저장 시,
                    
# 확인
$ kubectl get secrets
$ kubectl describe secrets

 

 


[문제11] Create a Kubernetes secretReady

작업 클러스터 : k8s

Name: super-secret
password: bob
Create a pod named pod-secrets-via-file, using the redis Image, which mounts a secret named super-secret at/secrets.
Create a second pod named pod-secrets-via-env, using the redis Image, which exports password as CONFIDENTIAL

# 1. secret 확인
$ kubectl get secrets


# 2. secret 존재하지 않을 경우 생성
$ kubectl create secret generic super-secret --file-literal=Password=bob


# 3. pod 생성
$ kubectl run pod-secrets-via-file --image=redis --dry-run=client -o yaml > via-file.yaml
$ vi via-file.yaml

###
...
spec:
  containers:
  - name: pod-secrets-via-file
    image: redis
    volumeMounts:
    - name: super-secret
      mountPath: "/etc/super-secret"
  volumes:
  - name: super-secret
    secret:
      secretName: super-secret
###

$ kubectl apply -f via-file.yaml


# 5. 확인
$ kubectl exec -it pod-secrets-via-file -- bash
$ cat /etc/super-secret/Password


# 6. pod2 생성
$ kubectl run pod-secrets-via-env --image=redis --dry-run=client -o yaml > via-env.yaml
$ vi via-env.yaml

###
...
spec:
  containers:
  - name: od-secrets-via-env
    image: redis
    env:
      - name: CONFIDENTIAL
        valueFrom:
          secretKeyRef:
            name: super-secret
            key: Password
###

$ kebectl apply -f via-env.yaml


# 7. 확인
$ kubectl exec -it pod-secrets-via-env -- bash
$ env