Azure Arc tarafından etkinleştirilen AKS ile kalıcı birimleri kullanma

Şunlar için geçerlidir: Azure Stack HCI 22H2 üzerinde AKS, Windows Server'da AKS

Bu makalede, Azure Arc (AKS Arc) tarafından etkinleştirilen AKS'de Kubernetes podlarıyla kullanılmak üzere uzun süreli depolama sağlayan kalıcı birimlerin nasıl sağlandığı, kullanılacağı ve silineceği açıklanır.

Kalıcı birim, Kubernetes podlarıyla kullanılmak üzere sağlanan bir depolama parçasını temsil eder. Kalıcı birim bir veya daha fazla pod tarafından kullanılabilir ve uzun süreli depolama için kullanılır. Ayrıca pod veya düğüm yaşam döngülerinden bağımsızdır.

Hem Windows hem de Linux düğümleri için kalıcı birim sağlayabilirsiniz ancak bu makalede, Windows uygulamanızda kullanmak üzere kalıcı birim oluşturma açıklanmaktadır. Daha fazla bilgi için bkz. Kubernetes'te kalıcı birimler.

Başlamadan önce

Başlamak için yapmanız gerekenler şunlardır:

Kalıcı birim talebi oluşturma

Depolama sınıfını temel alan depolamayı otomatik olarak sağlamak için kalıcı birim talebi (PVC) kullanılır. Birim talebi oluşturmak için önce adlı pvc-akshci-csi.yaml bir dosya oluşturun ve aşağıdaki YAML tanımını kopyalayıp yapıştırın. PVC, ReadWriteOnce erişimine sahip 10 GB boyutunda bir disk gerektirir. Varsayılan depolama sınıfı depolama sınıfı (vhdx) olarak belirtilir.

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

Birimi oluşturmak için, Azure Stack HCI kümesindeki sunuculardan birinde bir yönetim PowerShell oturumunda aşağıdaki komutları çalıştırın. Sunucuya bağlanmak için Enter-PSSession veya Uzak Masaüstü gibi bir yöntem kullanın.

kubectl create -f pvc-akshci-csi.yaml 

Aşağıdaki çıkış, kalıcı birim talebinizin başarıyla oluşturulduğunu gösterir:

Çıkış:

persistentvolumeclaim/pvc-akshci-csi created

Kalıcı birim kullanma

Kalıcı birim kullanmak için adlı winwebserver.yaml bir dosya oluşturun ve aşağıdaki YAML tanımını kopyalayıp yapıştırın. Ardından kalıcı birim talebine ve vhdx'e erişimi olan bir pod oluşturun.

Aşağıdaki YAML tanımında, mountPath bir birimi kapsayıcıya bağlama yoludur. Başarılı bir pod oluşturma işleminden sonra, C:\ içinde oluşturulan mnt alt dizinini ve mnt içinde oluşturulan akshciscsi alt dizinini görürsünüz.

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 

Yukarıdaki YAML tanımına sahip bir pod oluşturmak için şunu çalıştırın:

kubectl create -f winwebserver.yaml 

Pod'un çalıştığından emin olmak için aşağıdaki komutu yürütür. Görüntüyü çekmek zaman aldığından pod çalışır durumda olana kadar birkaç dakika bekleyin.

kubectl get pods -o wide 

Podunuz çalıştırıldıktan sonra aşağıdaki komutu çalıştırarak pod durumunu görüntüleyin:

kubectl.exe describe pod %podName% 

Biriminizin poda bağlandığını doğrulamak için aşağıdaki komutu çalıştırın:

kubectl exec -it %podname% cmd.exe 

Kalıcı birim talebi silme

Kalıcı bir birim talebi silmeden önce aşağıdakini çalıştırarak uygulama dağıtımını silmeniz gerekir:

kubectl delete deployments win-webserver

Daha sonra şunu çalıştırarak kalıcı bir birim talebi silebilirsiniz:

kubectl delete PersistentVolumeClaim pvc-akshci-csi

Sonraki adımlar