MariaDB와 Kubernetes 및 클라우드 연동

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 생성:
    1. AWS Management Console에서 RDS 서비스로 이동
    2. Create Database 선택
    3. MariaDB 선택
    4. 데이터베이스 인스턴스 설정 및 생성

11.2 Google Cloud SQL에서 MariaDB 사용하기

Google Cloud SQL은 Google Cloud에서 관리형 관계형 데이터베이스 서비스입니다. MariaDB를 쉽게 배포하고 관리할 수 있습니다.

  • Google Cloud SQL에서 MariaDB 생성:
    1. Google Cloud Console에 로그인
    2. SQL로 이동 후 Create Instance 선택
    3. 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 사용 예제:
    1. Cloud SQL Proxy를 설치:
      curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.amd64
      chmod +x cloud_sql_proxy
    2. Proxy 실행:
      ./cloud_sql_proxy -dir=/cloudsql
    3. MariaDB 접속:
      mysql -u your-username -p -h 127.0.0.1 -P 3306

13.2 Cloud SQL Proxy로 MariaDB 접속하기

Cloud SQL Proxy를 사용하여 Cloud SQL의 MariaDB 인스턴스에 안전하게 연결할 수 있습니다. 이 방식은 GCP 환경에서 MariaDB를 사용하는 경우 매우 유용합니다.


RSS Feed
마지막 수정일자