본문 바로가기

⭐ Kubernetes & EKS/Secret (시크릿)

Secret을 활용한 환경변수 설정

728x90
반응형

Secret.drawio
0.00MB

# Secret을 활용한 환경변수 설정

쿠버네티스 시크릿을 사용하면 비밀번호, OAuth 토큰, ssh 키와 같은 민감한 정보를 저장하고 관리할 수 ​​있다. 시크릿은 암호, 토큰 또는 키와 같은 소량의 중요한 데이터를 포함하는 오브젝트이다. 

# 해당 내용을 파일로 저장하는 명령어

echo -n admin > username

echo -n 1234qwerasdf > password

# generic 옵션을 사용하면 일반적인 정보로 저장됨

kubectl create secret generic db-user-pass --from-file=username --from-file=password

kubectl get secret -o yaml db-user-pass

# 저장된 비밀번호 디코딩 하기

echo YWRtaW4= | base64 --decode

결과: admin

# secret 에서 불러올수 있도록 설정하기

ls

cp envars-configmap.yaml envars-secret.yaml
apiVersion: v1
kind: Pod
metadata:
  name: envar-secret
  labels:
    purpose: demonstrate-envars
spec:
  containers:
  - name: envar-demo-container
    image: gcr.io/google-samples/node-hello:1.0
    env:
    - name: user
      valueFrom:
        secretKeyRef:
          name: db-user-pass
          key: username
    - name: pass
      valueFrom:
        secretKeyRef:
          name: db-user-pass
          key: password

# 쉘에서 5줄 복사하는 방법

복사 대상 위치에서 5yy 입력 > 붙여넣을 공간에서 p 눌면 5줄이 복사됨

kubectl create -f envars-secret.yaml

kubectl exec -it envar-secret -- bash

printenv

- printenv를 통해 확인해보면 id와 비밀번호가 디코딩이 되어 표시되는것으 볼 수 있다.

728x90
반응형