MariaDB와 Kubernetes 및 클라우드 연동
9️⃣ MariaDB를 Kubernetes에서 실행하기 (StatefulSet, Persistent Volume)
9.1 StatefulSet을 사용한 MariaDB 배포
Kubernetes에서 StatefulSet은 상태를 유지하는 애플리케이션을 배포할 때 유용합니다. MariaDB와 같은 데이터베이스 서비스는 데이터 지속성을 위해 StatefulSet을 사용해야 합니다.
- StatefulSet 사용 예제:
mariadb-statefulset.yaml
apiVersion: apps/v1 kind: StatefulSet metadata: name: mariadb spec: serviceName: "mariadb" replicas: 1 selector: matchLabels: app: mariadb template: metadata: labels: app: mariadb spec: containers: - name: mariadb image: mariadb:latest env: - name: MYSQL_ROOT_PASSWORD value: "yourpassword" ports: - containerPort: 3306 volumeMounts: - name: mariadb-persistent-storage mountPath: /var/lib/mysql volumeClaimTemplates: - metadata: name: mariadb-persistent-storage spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 5Gi
9.2 Persistent Volume (PV)과 Persistent Volume Claim (PVC)
MariaDB 데이터를 저장하려면 **Persistent Volume (PV)**과 **Persistent Volume Claim (PVC)**를 사용하여 클러스터 외부에 데이터를 저장할 수 있습니다.
- PVC 예제:
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mariadb-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 5Gi
🔟 MariaDB Operator를 이용한 자동화된 배포
10.1 MariaDB Operator란?
MariaDB Operator는 Kubernetes에서 MariaDB 데이터베이스의 배포, 관리 및 확장을 자동화하는 도구입니다. 이를 사용하면 MariaDB 클러스터를 더 쉽게 운영할 수 있습니다.
- MariaDB Operator 설치:
kubectl apply -f https://raw.githubusercontent.com/mariadb/mariadb-operator/master/deploy/operator.yaml
10.2 MariaDB 클러스터 배포
Operator를 통해 MariaDB 클러스터를 쉽게 배포할 수 있습니다.
- MariaDB 클러스터 배포 예제:
mariadb-cluster.yaml
apiVersion: mariadb.com/v1 kind: MariaDBCluster metadata: name: mariadb-cluster spec: replicas: 3 db: image: mariadb:latest rootPassword: "rootpassword" volume: size: 5Gi
1️⃣ AWS RDS 및 Google Cloud SQL에서 MariaDB 사용하기
11.1 AWS RDS에서 MariaDB 사용하기
AWS RDS는 관리형 데이터베이스 서비스로, MariaDB를 손쉽게 실행하고 관리할 수 있습니다.
- AWS RDS에서 MariaDB 생성:
- AWS Management Console에서 RDS 서비스로 이동
Create Database
선택MariaDB
선택- 데이터베이스 인스턴스 설정 및 생성
11.2 Google Cloud SQL에서 MariaDB 사용하기
Google Cloud SQL은 Google Cloud에서 관리형 관계형 데이터베이스 서비스입니다. MariaDB를 쉽게 배포하고 관리할 수 있습니다.
- Google Cloud SQL에서 MariaDB 생성:
- Google Cloud Console에 로그인
SQL
로 이동 후Create Instance
선택- MariaDB 선택 후 설정을 진행
2️⃣ MariaDB와 클라우드 스토리지 연동 (S3, GCS, Azure Blob Storage)
12.1 AWS S3와 MariaDB 연동
MariaDB는 외부 스토리지 서비스를 연동하여 데이터 백업 및 저장소로 사용할 수 있습니다. 예를 들어, MariaDB와 AWS S3를 연동하여 데이터를 백업할 수 있습니다.
- S3 연동 예제:
MariaDB에
s3_storage
플러그인을 설치하고 S3 버킷을 연동할 수 있습니다.INSTALL SONAME 'ha_s3'; CREATE TABLE s3_backup ( id INT, data VARCHAR(255) ) ENGINE = S3 CONNECTION 's3://your-bucket-name/path/';
12.2 Google Cloud Storage와 MariaDB 연동
Google Cloud Storage(GCS)와 MariaDB를 연동하여 대용량 데이터를 처리하거나 백업할 수 있습니다.
- GCS 연동 예제: MariaDB에서 GCS에 데이터를 저장하려면, GCS와 연결할 수 있는 플러그인을 사용하여 외부 스토리지를 설정할 수 있습니다.
12.3 Azure Blob Storage와 MariaDB 연동
Azure Blob Storage와 MariaDB를 연동하여 클라우드 기반의 데이터 저장소를 사용할 수 있습니다.
- Azure Blob 연동 예제:
MariaDB에서 Azure Blob에 직접 연결하고 데이터를 저장할 수 있습니다.
azure_storage
플러그인을 통해 이를 구현할 수 있습니다.
3️⃣ Cloud SQL Proxy를 활용한 MariaDB 접속
13.1 Cloud SQL Proxy란?
Cloud SQL Proxy는 클라우드 SQL 인스턴스에 대한 안전한 연결을 제공하는 도구입니다. 이를 사용하면 Cloud SQL 인스턴스와 MariaDB에 쉽게 연결할 수 있습니다.
- Cloud SQL Proxy 사용 예제:
- Cloud SQL Proxy를 설치:
curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.amd64 chmod +x cloud_sql_proxy
- Proxy 실행:
./cloud_sql_proxy -dir=/cloudsql
- MariaDB 접속:
mysql -u your-username -p -h 127.0.0.1 -P 3306
- Cloud SQL Proxy를 설치:
13.2 Cloud SQL Proxy로 MariaDB 접속하기
Cloud SQL Proxy를 사용하여 Cloud SQL의 MariaDB 인스턴스에 안전하게 연결할 수 있습니다. 이 방식은 GCP 환경에서 MariaDB를 사용하는 경우 매우 유용합니다.