Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> SQL

Triển khai PostgreSQL trên Kubernetes: Hướng dẫn từng bước cho cơ sở dữ liệu tin cậy, có thể mở rộng

PostgreSQL là một RDBMS mã nguồn mở nổi tiếng với việc xử lý các tập dữ liệu phức tạp. Kubernetes tự động hóa triển khai, mở rộng và quản lý các ứng dụng container hóa. Triển khai PostgreSQL trên Kubernetes cung cấp tự động mở rộng, rolling updates và độ tin cậy cải thiện thông qua replicas và failover.

Các bước triển khai

Cluster → Image → Manifest → Deploy → Monitor

Bước 1: Thiết lập Kubernetes Cluster

Sử dụng nhà cung cấp đám mây (AWS EKS, GCP GKE, Azure AKS) hoặc thiết lập cục bộ với Minikube. Cài đặt kubectl và tùy chọn Helm.

Bước 2: Tạo Manifest triển khai

Định nghĩa triển khai PostgreSQL trong tệp YAML với biến môi trường, volumes và cổng:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: postgres
spec:
  replicas: 1
  selector:
    matchLabels:
      app: postgres
  template:
    metadata:
      labels:
        app: postgres
    spec:
      containers:
      - name: postgres
        image: postgres:16
        ports:
        - containerPort: 5432
        env:
        - name: POSTGRES_USER
          value: "admin"
        - name: POSTGRES_PASSWORD
          value: "secretpass"
        - name: POSTGRES_DB
          value: "mydb"
        volumeMounts:
        - mountPath: /var/lib/postgresql/data
          name: postgres-storage
      volumes:
      - name: postgres-storage
        persistentVolumeClaim:
          claimName: postgres-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: postgres-svc
spec:
  selector:
    app: postgres
  ports:
  - port: 5432
    targetPort: 5432
  type: ClusterIP

Bước 3: Triển khai và Giám sát

# Triển khai
kubectl apply -f postgres-manifest.yaml
# Kiểm tra trạng thái pod
kubectl get pods
# Xem logs
kubectl logs <pod-name>
# Giám sát tài nguyên
kubectl top pods

Bước 4: Mở rộng và Sao lưu

# Mở rộng replicas
kubectl scale deployment postgres --replicas=3
# Sao lưu sử dụng pg_dump
kubectl exec <pod-name> -- pg_dump -U admin mydb > backup.sql

Kết luận

Triển khai PostgreSQL trên Kubernetes kết hợp quản lý cơ sở dữ liệu mạnh mẽ với lợi ích điều phối container: tự động mở rộng, rolling updates, lưu trữ bền vững và failover. Định nghĩa triển khai trong manifest YAML, triển khai với kubectl apply và giám sát với các lệnh Kubernetes tiêu chuẩn.