Menggunakan volume persisten dengan AKS yang diaktifkan oleh Azure Arc

Berlaku untuk: AKS di Azure Stack HCI 22H2, AKS di Windows Server

Artikel ini menjelaskan cara memprovisikan, menggunakan, dan menghapus volume persisten yang menyediakan penyimpanan jangka panjang untuk digunakan dengan pod Kubernetes di AKS yang diaktifkan oleh Azure Arc (AKS Arc).

Volume persisten mewakili bagian penyimpanan yang telah disediakan untuk digunakan dengan pod Kubernetes. Volume persisten dapat digunakan oleh satu atau lebih pod dan dimaksudkan untuk penyimpanan jangka panjang. Ini juga independen dari siklus hidup pod atau simpul.

Meskipun Anda dapat menyediakan volume persisten untuk simpul Windows dan Linux, artikel ini menjelaskan cara membuat volume persisten untuk digunakan di aplikasi Windows Anda. Untuk informasi selengkapnya, lihat Volume persisten di Kubernetes.

Sebelum Anda mulai

Inilah yang Anda butuhkan untuk memulai:

Membuat klaim volume persisten

Klaim volume persisten (PVC) digunakan untuk mem-provisikan penyimpanan secara otomatis berdasarkan kelas penyimpanan. Untuk membuat klaim volume, pertama-tama buat file bernama pvc-akshci-csi.yaml, lalu salin dan tempelkan definisi YAML berikut. PVC meminta disk yang berukuran 10 GB dengan akses ReadWriteOnce. Kelas penyimpanan default ditentukan sebagai kelas penyimpanan (vhdx).

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
 name: pvc-akshci-csi
spec:
 accessModes:
 - ReadWriteOnce
 resources:
  requests:
   storage: 10Gi

Untuk membuat volume, jalankan perintah berikut dalam sesi PowerShell administratif di salah satu server di kluster Azure Stack HCI. Gunakan metode seperti Enter-PSSession atau Desktop Jauh untuk menyambungkan ke server.

kubectl create -f pvc-akshci-csi.yaml 

Output berikut akan menunjukkan bahwa klaim volume persisten Anda telah berhasil dibuat:

Output:

persistentvolumeclaim/pvc-akshci-csi created

Gunakan volume persisten

Untuk menggunakan volume persisten, buat file bernama winwebserver.yaml, lalu salin dan tempelkan definisi YAML berikut. Kemudian buat pod dengan akses ke klaim volume persisten dan vhdx.

Dalam definisi YAML berikut, mountPath adalah jalur untuk memasang volume di dalam kontainer. Setelah pembuatan pod berhasil, Anda akan melihat mnt subdirektori yang dibuat di C:\ dan akshciscsi subdirektori yang dibuat di dalam mnt.

apiVersion: apps/v1 
kind: Deployment 
metadata: 
  labels: 
    app: win-webserver 
  name: win-webserver 
spec: 
  replicas: 1 
  selector: 
    matchLabels: 
      app: win-webserver 
  template: 
    metadata: 
      labels: 
        app: win-webserver 
      name: win-webserver 
    spec: 
     containers: 
      - name: windowswebserver 
        image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019 
        ports:  
          - containerPort: 80    
        volumeMounts: 
            - name: akshciscsi 
              mountPath: "/mnt/akshciscsi" 
     volumes: 
        - name: akshciscsi 
          persistentVolumeClaim: 
            claimName:  pvc-akshci-csi 
     nodeSelector: 
      kubernetes.io/os: windows 

Untuk membuat pod dengan definisi YAML di atas, jalankan:

kubectl create -f winwebserver.yaml 

Untuk memastikan pod berjalan, jalankan perintah berikut. Tunggu beberapa menit sampai pod dalam keadaan berjalan, karena menarik gambar membutuhkan waktu.

kubectl get pods -o wide 

Setelah pod Anda berjalan, lihat status pod dengan menjalankan perintah berikut:

kubectl.exe describe pod %podName% 

Untuk memverifikasi volume Anda telah dipasang di pod, jalankan perintah berikut:

kubectl exec -it %podname% cmd.exe 

Menghapus klaim volume persisten

Sebelum menghapus klaim volume persisten, Anda harus menghapus penyebaran aplikasi dengan menjalankan:

kubectl delete deployments win-webserver

Anda kemudian dapat menghapus klaim volume persisten dengan menjalankan:

kubectl delete PersistentVolumeClaim pvc-akshci-csi

Langkah berikutnya