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:
- Đăng nhập vào AWS Management Console và mở dịch vụ EBS.
- Chọn “Volumes” trong bảng điều khiển EBS.
- Nhấp vào “Create Volume” để tạo một EBS volume mới.
- Cấu hình kích thước và các tùy chọn khác cho volume.
- 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.