Azure Elastik SAN ile Azure Container Storage'ı kullanma (önizleme)

Azure Container Storage , kapsayıcılar için yerel olarak oluşturulmuş bulut tabanlı bir birim yönetimi, dağıtımı ve düzenleme hizmetidir. Azure Elastic SAN, bir SAN'ı dağıtmayı, ölçeklendirmeyi, yönetmeyi ve yapılandırmayı basitleştirirken yüksek kullanılabilirlik gibi yerleşik bulut özellikleri sunan tam olarak tümleşik bir çözümdür.

Önizleme özelliği olarak Azure Container Storage'ı Azure Elastik SAN kullanacak şekilde yapılandırabilirsiniz. Bu makale, bu yapılandırmanın nasıl yapılacağını kapsar. Bu makalenin sonunda, depolama alanı olarak Elastik SAN kullanan bir pod olacak.

Önkoşullar

  • Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

  • Bu makale, Azure CLI'nın en son sürümünü (2.35.0 veya üzeri) gerektirir. Bkz. Azure CLI'yi yükleme. Azure Cloud Shell'de Bash ortamını kullanıyorsanız en son sürüm zaten yüklüdür. Komutları Azure Cloud Shell yerine yerel olarak çalıştırmayı planlıyorsanız, bunları yönetici ayrıcalıklarıyla çalıştırdığınızdan emin olun. Daha fazla bilgi için bkz . Azure Cloud Shell'i kullanmaya başlama.

  • Kubernetes komut satırı istemcisine ihtiyacınız olacaktır. kubectl Azure Cloud Shell kullanıyorsanız zaten yüklüdür veya komutunu çalıştırarak az aks install-cli yerel olarak yükleyebilirsiniz.

  • Azure Container Storage'ı henüz yüklemediyseniz Azure Container Storage'ı Azure Kubernetes Service ile kullanma başlığındaki yönergeleri izleyin.

  • Hedef bölgenizin Azure Container Storage bölgelerinde desteklenip desteklenmediğini denetleyin.

  • Aboneliğinizde Bir Azure Kapsayıcı Depolama Sahibi rolüne veya Azure Container Storage Katkıda Bulunanı rolüne sahip olduğunuzdan emin olun. Bu rollerden biri, Azure Container Storage'ın Elastik SAN kaynağıyla iletişim kurmasına izin veren izinler verir. Bu değişikliği yapmak için Azure portalındaki abonelik sayfanıza gidin. Erişim denetimi (IAM) Rol ataması ekle'yi seçin ve İş işlevi rolleri sekmesinde "Azure Container Storage Sahibi" veya "Azure Container Storage Katkıda Bulunanı" araması yapın. Atamaları > Görüntüle > Atama ekle'yi seçin ve hesabınızı ekleyin. >

  • Azure Elastik SAN (önizleme) ile Azure Container Storage'ı kullanmak için AKS kümenizin, küme düğümleri için en az dört sanal CPU'ya (vCPU) sahip standard_d4s_v5 gibi en az üç genel amaçlı SANAL makineden oluşan bir düğüm havuzuna sahip olması gerekir.

Sınırlamalar

Elastik SAN dağıtmak ve yönetmek için Azure Container Storage kullandığınızda aşağıdaki özellikler şu anda desteklenmemekte.

  • Birim anlık görüntüleri
  • Depolama havuzu genişletme

Bölgesel kullanılabilirlik

Azure Container Storage yalnızca Azure bölgelerinin bir alt kümesi için kullanılabilir:

  • (Afrika) Güney Afrika Kuzey
  • (Asya Pasifik) Avustralya Doğu
  • (Asya Pasifik) Doğu Asya
  • (Asya Pasifik) Doğu Japonya
  • (Asya Pasifik) Kore Orta
  • (Asya Pasifik) Güneydoğu Asya
  • (Asya Pasifik) Orta Hindistan
  • (Avrupa) Orta Fransa
  • (Avrupa) Orta Batı Almanya
  • (Avrupa) Kuzey Avrupa
  • (Avrupa) Batı Avrupa
  • (Avrupa) UK Güney
  • (Avrupa) İsveç Orta
  • (Avrupa) Kuzey İsviçre
  • (Orta Doğu) Kuzey BAE
  • (Kuzey Amerika) Doğu ABD
  • (Kuzey Amerika) Doğu ABD 2
  • (Kuzey Amerika) Batı ABD
  • (Kuzey Amerika) Batı ABD 2
  • (Kuzey Amerika) Batı ABD 3
  • (Kuzey Amerika) Orta ABD
  • (Kuzey Amerika) Orta Kuzey ABD
  • (Kuzey Amerika) Orta Güney ABD
  • (Kuzey Amerika) Orta Batı ABD
  • (Kuzey Amerika) Orta Kanada
  • (Kuzey Amerika) Doğu Kanada
  • (Güney Amerika) Güney Brezilya

Kalıcı birimler oluşturma ve ekleme

Kalıcı birim oluşturmak ve eklemek için bu adımları izleyin.

1. Depolama havuzu oluşturma

İlk olarak, Kubernetes kümeniz için bir YAML bildirim dosyasında tanımlayarak mantıksal bir depolama grubu olan bir depolama havuzu oluşturun.

veya az aks update komutlarını kullanarak az aks create Azure Container Storage'ı etkinleştirdiyseniz, zaten bir depolama havuzunuz olabilir. Depolama havuzlarının listesini almak için kullanın kubectl get sp -n acstor . Kullanmak istediğiniz zaten kullanılabilir bir depolama havuzunuz varsa, bu bölümü atlayabilir ve Kullanılabilir depolama sınıflarını görüntüleme bölümüne geçebilirsiniz.

Azure Elastik SAN (önizleme) ile depolama havuzu oluşturmak için bu adımları izleyin.

  1. Gibi code acstor-storagepool.yamlbir YAML bildirim dosyası oluşturmak için sık kullandığınız metin düzenleyiciyi kullanın.

  2. Aşağıdaki kodu yapıştırın. Depolama havuzu adı değeri istediğiniz gibi olabilir. Depolamayı Gi veya Ti'de istediğiniz depolama kapasitesini yansıtacak şekilde ayarlayın ve dosyayı kaydedin. Azure Elastic SAN şu anda depolama havuzlarını yeniden boyutlandırmayı desteklememektedir.

    apiVersion: containerstorage.azure.com/v1
    kind: StoragePool
    metadata:
      name: managed
      namespace: acstor
    spec:
      poolType:
        elasticSan: {}
      resources:
        requests: {"storage": 1Ti}
    
  3. Depolama havuzunu oluşturmak için YAML bildirim dosyasını uygulayın.

    kubectl apply -f acstor-storagepool.yaml 
    

    Depolama havuzu oluşturma işlemi tamamlandığında aşağıdaki gibi bir ileti görürsünüz:

    storagepool.containerstorage.azure.com/managed created
    

    Depolama havuzunun durumunu denetlemek için bu komutu da çalıştırabilirsiniz. değerini depolama havuzu adı değerinizle değiştirin<storage-pool-name>. Bu örnekte değer yönetilebilir.

    kubectl describe sp <storage-pool-name> -n acstor
    

Depolama havuzu oluşturulduğunda, Azure Container Storage adlandırma kuralını acstor-<storage-pool-name>kullanarak sizin adınıza bir depolama sınıfı oluşturur. Ayrıca bir Azure Elastik SAN kaynağı da oluşturur.

2. Kullanılabilir depolama sınıflarını görüntüleme

Depolama havuzu kullanıma hazır olduğunda, kalıcı birim talepleri oluştururken ve kalıcı birimleri dağıtırken depolamanın nasıl dinamik olarak oluşturulduğunu tanımlamak için bir depolama sınıfı seçmeniz gerekir.

Kullanılabilir depolama sınıflarını görüntülemek için komutunu çalıştırın kubectl get sc . adlı acstor-<storage-pool-name>bir depolama sınıfı görmeniz gerekir.

Önemli

İç olarak işaretlenmiş depolama sınıfını kullanmayın. Bu, Azure Container Storage'ın çalışması için gereken bir iç depolama sınıfıdır.

3. Kalıcı birim talebi oluşturma

Depolama sınıfına göre depolamayı otomatik olarak sağlamak için kalıcı birim talebi (PVC) kullanılır. Yeni depolama sınıfını kullanarak bir PVC oluşturmak için bu adımları izleyin.

  1. Gibi code acstor-pvc.yamlbir YAML bildirim dosyası oluşturmak için sık kullandığınız metin düzenleyiciyi kullanın.

  2. Aşağıdaki kodu yapıştırın ve dosyayı kaydedin. PVC name değeri istediğiniz gibi olabilir.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: managedpvc
    spec:
      accessModes:
        - ReadWriteOnce
      storageClassName: acstor-managed # replace with the name of your storage class if different
      resources:
        requests:
          storage: 100Gi
    
  3. PVC'yi oluşturmak için YAML bildirim dosyasını uygulayın.

    kubectl apply -f acstor-pvc.yaml
    

    Aşağıdakine benzer bir çıktı görmeniz gerekir:

    persistentvolumeclaim/managedpvc created
    

    Aşağıdaki komutu çalıştırarak PVC'nin durumunu doğrulayabilirsiniz:

    kubectl describe pvc managedpvc
    

PVC oluşturulduktan sonra bir pod tarafından kullanılmaya hazır olur.

4. Pod dağıtma ve kalıcı birim ekleme

Karşılaştırma ve iş yükü benzetimi için Fio (Esnek G/Ç TestLeyicisi) kullanarak bir pod oluşturun ve kalıcı birim için bir bağlama yolu belirtin. claimName için, kalıcı birim talebi oluştururken kullandığınız ad değerini kullanın.

  1. Gibi code acstor-pod.yamlbir YAML bildirim dosyası oluşturmak için sık kullandığınız metin düzenleyiciyi kullanın.

  2. Aşağıdaki kodu yapıştırın ve dosyayı kaydedin.

    kind: Pod
    apiVersion: v1
    metadata:
      name: fiopod
    spec:
      nodeSelector:
        acstor.azure.com/io-engine: acstor
      volumes:
        - name: managedpv
          persistentVolumeClaim:
            claimName: managedpvc
      containers:
        - name: fio
          image: nixery.dev/shell/fio
          args:
            - sleep
            - "1000000"
          volumeMounts:
            - mountPath: "/volume"
              name: managedpv
    
  3. Podu dağıtmak için YAML bildirim dosyasını uygulayın.

    kubectl apply -f acstor-pod.yaml
    

    Aşağıdakine benzer bir çıktı görmeniz gerekir:

    pod/fiopod created
    
  4. Pod'un çalışıp çalışmadığını ve kalıcı birim talebin poda başarıyla bağlanıp bağlanmadığını denetleyin:

    kubectl describe pod fiopod
    kubectl describe pvc managedpvc
    
  5. Geçerli durumunu görmek için fio testini denetleyin:

    kubectl exec -it fiopod -- fio --name=benchtest --size=800m --filename=/volume/test --direct=1 --rw=randrw --ioengine=libaio --bs=4k --iodepth=16 --numjobs=8 --time_based --runtime=60
    

Depolama alanı olarak Elastik SAN kullanan bir pod dağıttınız ve bunu Kubernetes iş yükleriniz için kullanabilirsiniz.

Kalıcı birimleri ve depolama havuzlarını yönetme

Artık kalıcı bir birim oluşturduğunuza göre, gerektiğinde birimi ayırabilir ve yeniden takabilirsiniz. Depolama havuzunu da silebilirsiniz.

Kalıcı birimi ayırma ve yeniden ekleme

Kalıcı bir birimi ayırmak için, kalıcı birimin bağlı olduğu podu silin. yerine podun adını (örneğin fiopod) yazın<pod-name>.

kubectl delete pods <pod-name>

Kalıcı bir birimi yeniden eklemek için, pod dağıtma ve kalıcı birim ekleme bölümünde açıklandığı gibi YAML bildirim dosyasındaki kalıcı birim talep adına başvurmanız yeterlidir.

Kalıcı birim talebin hangi kalıcı birime bağlı olduğunu denetlemek için komutunu çalıştırın kubectl get pvc <persistent-volume-claim-name>.

Depolama havuzunu silme

Depolama havuzunu silmek istiyorsanız aşağıdaki komutu çalıştırın. değerini depolama havuzu adıyla değiştirin <storage-pool-name> .

kubectl delete sp -n acstor <storage-pool-name>

Ayrıca bkz.