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.