Menggunakan volume persisten dengan Azure Kubernetes Service di Azure Stack HCI dan Windows Server

Berlaku untuk: Azure Stack HCI di Windows Server

Anda dapat menyiapkan volume persisten pada Azure Kubernetes Service (AKS) di Azure Stack HCI dan Windows Server. Volume persisten adalah istilah yang digunakan untuk mewakili sebuah bagian penyimpanan yang telah tersedia untuk penggunaan 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 node.

Meskipun Anda dapat menyediakan volume persisten untuk node Windows dan Linux, di artikel ini, Anda akan melihat 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 (menggunakan metode seperti Enter-PSSession atau Remote Desktop untuk terhubung 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 di bawah ini, mountPath adalah jalur untuk memasang volume di dalam wadah. Setelah pembuatan pod yang sukses, Anda akan melihat mnt subdirektori yang dibuat dalam 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