Windows Server'da AKS ile kalıcı birimleri kullanma

Şunlar için geçerlidir: Windows Server'da AKS

Bu makalede, Windows Server üzerinde AKS'de Kubernetes podlarıyla kullanılmak üzere uzun süreli depolama sağlayan kalıcı birimleri sağlama, kullanma ve silme işlemleri açıklanmaktadı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 depolamak amacıyla tasarlanmıştı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ştur

Depolama sınıfına göre 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, Windows Server 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:

Çıktı:

persistentvolumeclaim/pvc-akshci-csi created

Kalıcı birimi kullan

Kalıcı birim kullanmak için adlı winwebserver.yamlbir 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

Bu 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 duruma gelene 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 talebini sil

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

kubectl delete deployments win-webserver

Ardından şunu çalıştırarak kalıcı birim talebi silebilirsiniz:

kubectl delete PersistentVolumeClaim pvc-akshci-csi

Sonraki adımlar