1. Chuẩn bị trước khi triển khai
Bạn cần cài đặt và chuẩn bị:
2. Triển khai WordPress bằng YAML
Với YAML, bạn cần tự khai báo các tài nguyên như Secret, PersistentVolumeClaim, Deployment và Service.
Bước 1: Tạo file mysql.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
spec:
replicas: 1
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:8.0
env:
- name: MYSQL_ROOT_PASSWORD
value: "RootPassword123!"
- name: MYSQL_DATABASE
value: wordpress
ports:
- containerPort: 3306
---
apiVersion: v1
kind: Service
metadata:
name: mysql
spec:
selector:
app: mysql
ports:
- port: 3306
Bước 2: Tạo file wordpress.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: wordpress
spec:
replicas: 1
selector:
matchLabels:
app: wordpress
template:
metadata:
labels:
app: wordpress
spec:
containers:
- name: wordpress
image: wordpress:latest
env:
- name: WORDPRESS_DB_HOST
value: mysql
- name: WORDPRESS_DB_USER
value: root
- name: WORDPRESS_DB_PASSWORD
value: "RootPassword123!"
- name: WORDPRESS_DB_NAME
value: wordpress
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: wordpress
spec:
type: NodePort
selector:
app: wordpress
ports:
- port: 80
targetPort: 80
nodePort: 30080
Bước 3: Áp dụng cấu hình
Chạy các lệnh sau để tạo tài nguyên trên Kubernetes:
kubectl apply -f mysql.yaml
kubectl apply -f wordpress.yaml
Kiểm tra trạng thái:
kubectl get pods
kubectl get services
Khi các Pod hoạt động bình thường, bạn có thể truy cập website thông qua địa chỉ http://<NODE-IP>:30080.
Lưu ý: Các file trên chỉ minh họa cách triển khai cơ bản. Khi sử dụng thực tế, cần bổ sung Secret và PersistentVolumeClaim để bảo vệ thông tin đăng nhập và lưu trữ dữ liệu lâu dài.
3. Cài đặt WordPress bằng Helm Chart
Helm giúp triển khai ứng dụng nhanh hơn nhờ các Chart được cấu hình sẵn, hạn chế việc phải tạo từng file YAML riêng biệt.
Bước 1: Thêm repository Bitnami
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
Bước 2: Cài đặt WordPress
helm install wordpress bitnami/wordpress
Bước 3: Kiểm tra ứng dụng
kubectl get pods
kubectl get services
helm list
Bước 4: Tùy chỉnh cấu hình
Bạn có thể tạo file values.yaml để thiết lập thông tin quản trị, dung lượng lưu trữ và loại Service.
Ví dụ:
replicaCount: 1
wordpressUsername: admin
wordpressPassword: "StrongPassword123!"
service:
type: NodePort
nodePorts:
http: 30080
persistence:
enabled: true
size: 10Gi
Cập nhật cấu hình bằng lệnh:
helm upgrade --install wordpress bitnami/wordpress -f values.yaml
Cấu trúc tùy chọn có thể thay đổi theo phiên bản Chart. Bạn nên kiểm tra cấu hình mặc định trước khi áp dụng.
4. Nên chọn YAML hay Helm Chart?
|
Tiêu chí |
YAML |
Helm Chart |
|
Cách sử dụng |
Khai báo từng tài nguyên |
Cài đặt bằng Chart |
|
Tùy chỉnh |
Kiểm soát trực tiếp |
Thông qua values |
|
Quản lý |
Thủ công |
Có quản lý release |
|
Phù hợp |
Học tập, cấu hình riêng |
Triển khai nhanh, quản lý lâu dài |
YAML phù hợp khi bạn muốn hiểu rõ cấu trúc Kubernetes và chủ động kiểm soát tài nguyên. Helm Chart là lựa chọn thuận tiện hơn khi cần triển khai nhanh hoặc quản lý ứng dụng qua nhiều lần cập nhật.