Topik ini menjelaskan cara memasang volume disk yang di-provision secara statis menggunakan Persistent Volume (PV) dan Persistent Volume Claim (PVC).
Prasyarat
Untuk memasang disk sebagai volume, Anda harus terlebih dahulu membuat disk di konsol Elastic Compute Service (ECS). Untuk informasi lebih lanjut, lihat Buat Disk Data Kosong.
Pasang volume disk yang di-provision secara statis menggunakan PV dan PVC
Buat PV tipe disk.
Anda dapat membuat PV tipe disk di konsol Container Service for Kubernetes (ACK) atau menggunakan file YAML.
Buat PV menggunakan file YAML.
Buat file bernama disk-pv.yaml menggunakan template berikut:
apiVersion: v1 kind: PersistentVolume metadata: name: d-bp1j17ifxfasvts3**** labels: failure-domain.beta.kubernetes.io/zone: cn-hangzhou-b failure-domain.beta.kubernetes.io/region: cn-hangzhou spec: capacity: storage: 20Gi storageClassName: disk accessModes: - ReadWriteOnce flexVolume: driver: "alicloud/disk" fsType: "ext4" options: volumeId: "d-bp1j17ifxfasvts3****"Catatannamedari PV harus sama dengan ID disk yang ditentukan olehvolumeId.Jalankan perintah berikut untuk membuat PV:
kubectl apply -f disk-pv.yaml
Buat PV di konsol ACK.
Masuk ke konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang ingin Anda kelola. Lalu, klik nama kluster atau klik Details di kolom Actions.
Di panel navigasi kiri halaman detail, pilih .
Di pojok kanan atas halaman Persistent Volumes, klik Create.
Di kotak dialog Create PV, atur parameter-parameter berikut.
Parameter
Deskripsi
PV Type
Dalam contoh ini, Cloud Disk dipilih.
Volume Plug-in
Dalam contoh ini, Flexvolume dipilih.
Access Mode
Secara default, parameter ini diatur ke ReadWriteOnce.
Disk ID
Pilih disk yang dapat dipasang yang ditempatkan di wilayah dan zona yang sama dengan kluster Anda.
File System Type
Pilih tipe sistem file disk. Nilai valid: ext4, ext3, xfs, dan vfat. Nilai default: ext4.
Label
Tambahkan label ke PV.
Setelah menyelesaikan pengaturan, klik Create.
Buat PVC.
Buat file bernama disk-pvc.yaml menggunakan template berikut:
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc-disk spec: accessModes: - ReadWriteOnce storageClassName: disk resources: requests: storage: 20GiJalankan perintah berikut untuk membuat PVC:
kubectl apply -f disk-pvc.yaml
Buat pod.
Buat file bernama disk-pod.yaml menggunakan template berikut:
apiVersion: v1 kind: Service metadata: name: nginx labels: app: nginx spec: ports: - port: 80 name: web clusterIP: None selector: app: nginx --- apiVersion: apps/v1 kind: StatefulSet metadata: name: web spec: selector: matchLabels: app: nginx serviceName: "nginx" template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80 name: web volumeMounts: - name: pvc-disk mountPath: /data volumes: - name: pvc-disk persistentVolumeClaim: claimName: pvc-diskJalankan perintah berikut untuk membuat pod:
kubectl apply -f disk-pod.yaml