Triển khai, mở rộng và giám sát lưu trữ Kubernetes

Nhập môn Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Persistent Volume và Persistent Volume Claim

Persistent Volumes và Persistent Volume Claims

  • Đối tượng lưu trữ cốt lõi: PersistentVolume (PV), quản lý song song với Pod
  • Ánh xạ PV vào Pod bằng PersistentVolumeClaim (PVC)
  • PV đã ánh xạ cho phép giữ dữ liệu khi Pod dừng, bị kill, hoặc khởi động lại
  • PV tách biệt lưu trữ và tính toán
Nhập môn Kubernetes

StorageClass

Storage Classes

  • PV có thể được cấp phát
    • thủ công bởi quản trị viên Kubernetes
    • động bởi người dùng thông thường
  • Cấp phát động diễn ra qua StorageClass (SC) không cần can thiệp thủ công
  • StorageClass (SC):

    • do quản trị viên Kubernetes định nghĩa
    • nhiều loại (độ trễ khác nhau, ví dụ SSD vs HDD, chiến lược sao lưu khác nhau)
  • Không chắc thì dùng StorageClass

Nhập môn Kubernetes

Tổng hợp quy trình

  • Chỉ có ba đối tượng làm lưu trữ hoạt động:

    • PersistentVolume
    • PersistentVolumeClaim
    • StorageClass
  • Pod cần dữ liệu bền vững sẽ dùng PersistentVolumeClaim

  • PVC này yêu cầu Kubernetes tạo PersistentVolume cho Pod
  • PersistentVolume đó được ánh xạ vào Pod đã claim
  • Dùng StorageClass đã đặt tên để xác định chi tiết như độ trễ và chiến lược sao lưu của PV
  • PersistentVolume (và dữ liệu) vẫn tồn tại ngay cả khi Pod bị kết thúc
Nhập môn Kubernetes

Đoạn Manifest mẫu

Pod với PersistentVolume

apiVersion: v1
kind: Pod
...

spec: containers: ... volumeMounts: - name: pv-mydata mountPath: /mydata
volumes: - name: pv-mydata persistentVolumeClaim: claimName: datacamp-pvc

PersistentVolumeClaim với StorageClass

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: datacamp-pvc

spec: storageClassName: "standard" accessModes: - ReadWriteOnce
resources: requests: storage: 5Gi
Nhập môn Kubernetes

Lệnh "kubectl" cho lưu trữ

  • kubectl cung cấp đầy đủ lệnh để tạo và giám sát lưu trữ Kubernetes
  • Ví dụ:
    • kubectl get sc liệt kê mọi StorageClass
    • kubectl get pvc liệt kê mọi PersistentVolumeClaim đã triển khai
    • kubectl get pv liệt kê mọi PersistentVolume đã triển khai
    • Như thường lệ, dùng kubectl apply -f <manifest> để triển khai tài nguyên lưu trữ khai báo trong Manifest.
Nhập môn Kubernetes

Hãy thực hành!

Nhập môn Kubernetes

Preparing Video For Download...