Data Engineering/Data Infra & Process

Kubernetes 환경에서 MySQL Helm Chart 설치하기

ygtoken 2025. 2. 27. 13:47
728x90

✅ 개요

Kubernetes 환경에서 MySQL을 실행하려면 Helm Chart를 활용하는 것이 가장 효율적인 방법입니다. 이 글에서는 Bitnami MySQL Helm Chart를 사용하여 MySQL을 배포하는 방법을 설명합니다. 특히, Airflow 네임스페이스에 MySQL을 배포하고 비밀번호를 airflow로 설정하는 과정을 다르립니다.


✅ 1. Helm 저장소 추가 및 업데이트

먼저, Bitnami Helm Chart 저장소를 추가하고 최신 상황으로 업데이트합니다.

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

✅ 2. MySQL Helm Chart 설치

다음 명령어를 실행하여 MySQL을 airflow 네임스페이스에 설치합니다.

helm install airflow-mysql bitnami/mysql \
  --namespace mysql \
  --create-namespace \
  --set auth.rootPassword=mysql1234 \
  --set auth.username=mysqluser \
  --set auth.password=mysql1234 \
  --set auth.database=airflow \
  --set primary.persistence.enabled=true \
  --set primary.persistence.size=8Gi \
  --set primary.service.type=ClusterIP

🔹 설치 명령어 설명

  • --namespace mysql  Airflow 네임스페이스에 설치
  • --create-namespace  네임스페이스가 없을 경우 자동 생성
  • auth.rootPassword=airflow  MySQL root 계정 비밀번호를 airflow로 설정
  • auth.username=airflow, auth.password=airflow  MySQL 사용자 계정 및 비밀번호를 airflow로 설정
  • auth.database=airflow  Airflow용 기본 데이터베이스 생성
  • primary.persistence.enabled=true  데이터가 영구 저장되도록 설정
  • primary.persistence.size=8Gi  Persistent Volume 크기 8GiB 설정
  • primary.service.type=ClusterIP  내부에서만 접근 가능하도록 설정

✅ 3. 설치 확인

🔹 3-1. MySQL Pod 확인

kubectl get pods -n airflow

출력 예시:

NAME                                      READY   STATUS    RESTARTS   AGE
airflow-mysql-0                           1/1     Running   0          1m

👉 Pod가 Running 상황이면 정상 설치 완료!

🔹 3-2. MySQL 서비스 확인

kubectl get svc -n airflow

출력 예시:

NAME                  TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
airflow-mysql        ClusterIP   10.106.255.91   <none>        3306/TCP   2m

👉 MySQL 서비스가 정상적으로 실행 중인지 확인!

🔹 3-3. MySQL 내보 접근 테스트

kubectl exec -it airflow-mysql-0 -n airflow -- mysql -u airflow -p

비밀번호 입력:

Enter password: airflow

이후, MySQL 내보에서 데이터베이스 확인:

SHOW DATABASES;

출력 예시:

+--------------------+
| Database          |
+--------------------+
| airflow           |
| information_schema |
| mysql             |
| performance_schema |
+--------------------+

👉 airflow 데이터베이스가 존재하면 정상 설치 완료! 🎯


✅ 4. MySQL Helm 설치 과정 정보

단계명령어설명

1. Helm 저장소 추가 helm repo add bitnami ... Bitnami Helm Chart 저장소 추가
2. Helm Chart 업데이트 helm repo update 최신 채팅 업데이트
3. MySQL 설치 helm install airflow-mysql ... MySQL Helm Chart 설치
4. Pod 상황 확인 kubectl get pods -n airflow MySQL Pod 실행 확인
5. 서비스 확인 kubectl get svc -n airflow MySQL Service 실행 확인
6. 내보 접근 테스트 kubectl exec -it airflow-mysql-0 ... MySQL CLI 접근 및 데이터베이스 확인
728x90