Bạn đang sử dụng Amazon Elastic Kubernetes Service (EKS) và muốn tạo một deployment trên EKS và mount một EBS (Elastic Block Store) volume vào deployment đó? Trong bài viết này, chúng ta sẽ đi qua các bước để thực hiện việc đó.

Bước 1: Tạo một EBS volume

Trước tiên, chúng ta cần tạo một EBS volume trong dịch vụ Elastic Block Store (EBS) của AWS. Bạn có thể làm theo các bước sau:

  1. Đăng nhập vào AWS Management Console và mở dịch vụ EBS.
  2. Chọn “Volumes” trong bảng điều khiển EBS.
  3. Nhấp vào “Create Volume” để tạo một EBS volume mới.
  4. Cấu hình kích thước và các tùy chọn khác cho volume.
  5. Lưu ý khu vực (availability zone) của volume, nó phải trùng với khu vực của EKS cluster mà bạn muốn mount volume vào.

Bước 2: Cấu hình PersistentVolume (PV) trong Kubernetes

Tiếp theo, chúng ta cần cấu hình một PersistentVolume (PV) trong Kubernetes để đại diện cho EBS volume. Bạn có thể sử dụng một file YAML để thực hiện việc này. Dưới đây là một ví dụ:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: my-ebs-volume
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  awsElasticBlockStore:
    volumeID: <EBS_VOLUME_ID>
    fsType: ext4

Trong đó, bạn cần thay thế <EBS_VOLUME_ID> bằng ID của EBS volume bạn đã tạo.

Bước 3: Cấu hình PersistentVolumeClaim (PVC) trong Kubernetes

Tiếp theo, chúng ta cần cấu hình một PersistentVolumeClaim (PVC) trong Kubernetes để yêu cầu sử dụng PV đã tạo. Bạn có thể sử dụng một file YAML để thực hiện việc này. Dưới đây là một ví dụ:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-ebs-claim
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

Bước 4: Cấu hình Deployment để sử dụng PVC

Sau đó, chúng ta cần cấu hình một Deployment trong Kubernetes để sử dụng PVC đã tạo. Bạn có thể sử dụng một file YAML để thực hiện việc này. Dưới đây là một ví dụ:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: my-container
          image: nginx
          volumeMounts:
            - name: my-ebs-volume
              mountPath: /data
      volumes:
        - name: my-ebs-volume
          persistentVolumeClaim:
            claimName: my-ebs-claim

Bước 5: Triển khai Deployment trên EKS cluster

Cuối cùng, chúng ta chỉ cần triển khai (deploy) Deployment đã cấu hình trên EKS cluster. Bạn có thể sử dụng công cụ kubectl để triển khai các tệp YAML đã tạo trong các bước trước đó. Dưới đây là lệnh kubectl để triển khai:

kubectl apply -f <filename.yaml>

Sau khi triển khai hoàn tất, EBS volume sẽ được mount vào đường dẫn /data trên container trong Deployment của bạn.


Với các bước trên, bạn đã thành công tạo một deployment trên EKS và mount một EBS volume vào deployment đó. Qua việc sử dụng EBS volume, bạn có thể lưu trữ và truy cập dữ liệu liên quan đến ứng dụng của mình trên Kubernetes một cách dễ dàng và tin cậy.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments