본문 바로가기

⭐ Kubernetes & EKS/Kubernetes (쿠버네티스)

쿠버네티스 환경 변수 설정 - my-sql 비밀번호를 환경변수로 전달하기

728x90
반응형

# 쿠버네티스 환경 변수 설정 연습문제

kubectl get secret

kubectl get secret -n kube-system

kubectl get secret -n kube-system | wc -l

kubectl get secret -n kube-system | grep default

kubectl get secret -n kube-system default-token-tnx5c -o yaml

# 인코딩 상태에서 내용을 확인하고 싶을때

kubectl describe secret -n kube-system default-token-tnx5c

# 인코딩되어있는 정보를 디코딩 하여 보는 방법

kubectl get secret -n kube-system default-token-tnx5c -o yaml

namespace: a3ViZS1zeXN0ZW0= 을 알고싶을때

echo namespace: a3ViZS1zeXN0ZW0= | base64 --decode

echo a3ViZS1zeXN0ZW0= | base64 --decode

결과 : kube-system

kubectl create secret generic db-secret --from-literal='DB_Password=Passw0rd!0' --dry-run -o yaml

kubectl create secret generic db-secret --from-literal='DB_Password=Passw0rd!0' --dry-run -o yaml > secret-mysql.yaml

# 위의 yaml 파일을 기반으로 mysql 비밀번호을 세팅하기

vim mysql-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: mysql
  labels:
    app: mysql
spec:
  containers:
  - name: mysql
    image: mysql:5.6
    env:
    - name: MYSQL_ROOT_PASSWORD
      valueFrom:
        secretKeyRef:
          name: db-secret
          key: DB_Password
kubectl create -f mysql-pod.yaml

kubectl get pod

# mysql 컨테이너 생성 후

kubectl exec -it mysql -- mysql -u root -p

Passw0rd!0

- 입력하면 정상적으로 mysql 서비스에 접근하는것을 볼 수 있다.

728x90
반응형