Aracılığıyla paylaş


Öğretici - AKS kümesinde Azure Container Storage 'ı (sürüm 1.x.x) dağıtma

Bu öğreticide Azure Container Storage tanıtılır ve Azure Kubernetes Service (AKS) üzerinde çalışan uygulamalar için kapsayıcıya özel depolamanın nasıl dağıtılacağı ve yönetileceğini gösterilmektedir. Azure Container Storage'ı şimdi dağıtmak istemiyorsanız bu öğreticiyi atlayabilir ve doğrudan AKS'de uygulama dağıtma bölümüne geçebilirsiniz. Bu öğretici serisinde temel vitrin uygulaması için Azure Container Storage'a ihtiyacınız olmayacaktır.

Önemli

Bu makalede, artık açıkça yükleme için bir sürüm sabitleme parametresi --container-storage-version 1 gerektiren Azure Container Storage'ın (sürüm 1.x.x) nasıl yükleneceği açıklanmaktadır. Azure Container Storage (sürüm 2.x.x) kullanıma sunuldu.

Azure Container Storage veritabanları, analiz platformları ve yüksek performanslı uygulamalar dahil olmak üzere çeşitli iş yüklerine göre uyarlanmış kapsayıcıya özel depolama alanı sunarak Kubernetes'teki durum bilgisi olan uygulamaların yönetimini basitleştirir.

Bu dersin sonunda şunları yapacaksınız:

  • Azure Container Storage'ın Kubernetes'te çeşitli iş yüklerini nasıl desteklediğini anlama.
  • Depolamayı uygulamanızın gereksinimlerine göre uyarlamak için birden çok depolama arka uç seçeneğini keşfedin.
  • AKS kümenize Azure Container Storage (sürüm 1.x.x) dağıtın ve genel bir kısa ömürlü birim oluşturun.

Başlamadan önce

Önceki eğitimlerde bir kapsayıcı görüntüsü oluşturdunuz, bunu bir ACR örneğine yüklediniz ve bir AKS kümesi oluşturdunuz. Başlangıç olarak Öğretici 1 - Uygulamayı AKS için Hazırlayın ile devam edin.

  • Bu öğretici için Azure CLI 2.35.0 veya sonraki bir sürümün kullanılması gerekir. Portal ve PowerShell şu anda Azure Container Storage için desteklenmemekte. Sürümünüzü az --version ile kontrol edin. Yüklemek veya yükseltmek için bkz . Azure CLI'yı yükleme. Azure Cloud Shell'de Bash ortamını kullanıyorsanız en son sürüm zaten yüklüdür.
  • Depolama için iyileştirilmiş VM SKU'larına veya GPU hızlandırılmış VM SKU'larına sahip en az 3 düğüme sahip linux tabanlı bir AKS kümeniz olmalıdır. Bkz. Öğretici 3 - AKS kümesi oluşturma.
  • 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.

Kubernetes uzantısını yükleme

Aşağıdaki komutu çalıştırarak k8s-extension öğesini en son sürümüne ekleyin veya yükseltin.

az extension add --upgrade --name k8s-extension

Kümeye bağlanın ve düğüm durumunu denetleyin

Önceki öğreticide kümenize bağlı değilseniz aşağıdaki komutları çalıştırın. Zaten bağlıysanız bu bölümü atlayabilirsiniz.

  1. Kümeye bağlanmak için aşağıdaki komutu çalıştırın.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  2. Kümelenize olan bağlantınızı kubectl get komutunu kullanarak doğrulayın. Bu komut, küme düğümlerinin bir listesini döndürür.

    kubectl get nodes
    
  3. Aşağıdaki çıkış örneği, kümenizdeki düğümleri gösterir. Tüm düğümlerin durumunun Hazır olduğundan emin olun:

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-nodepool1-34832848-vmss000000   Ready    agent   80m   v1.30.9
    aks-nodepool1-34832848-vmss000001   Ready    agent   80m   v1.30.9
    aks-nodepool1-34832848-vmss000002   Ready    agent   80m   v1.30.9
    

Bir yedekleme depolama seçeneği belirleyin

Azure Container Storage (sürüm 1.x.x), kalıcı ve genel birimleri sağlamak ve yönetmek için depolama havuzlarını kullanır. Depolama havuzlarınız için her biri belirli iş yükleri için uygun olan çeşitli arka uç depolama seçenekleri sunar. Doğru depolama türünü seçmek, iş yükü performansını, dayanıklılığını ve maliyet verimliliğini iyileştirmek için kritik öneme sahiptir. Bu öğreticide, geçici birim oluşturmak için destekleyici depolama olarak yerel NVMe kullanarak Geçici Disk kullanacağız. Ancak, kalıcı birimler oluşturmanıza olanak sağlayan diğer yedekleme depolama seçeneklerini de keşfedeceğiz.

Geçici Disk

Kısa Ömürlü Disk, AKS düğümlerindeki yerel depolama kaynaklarını (yerel NVMe veya geçici SSD) kullanır. Düşük alt ms gecikme süresi ve yüksek IOPS sunar, ancak VM yeniden başlatılırsa veri kalıcılığı olmaz. Geçici Disk, Cassandra gibi kalıcılık yerine hıza öncelik veren uygulamalar için en uygunudur ve uygulama düzeyinde kendi çoğaltmasına sahip iş yükleri için idealdir.

Sanal makine yeniden başlatılırsa veriler kaybolsa bile genel kısa ömürlü birimler veya kalıcı birimler oluşturmak için Kısa Ömürlü Disk'i kullanabilirsiniz.

Azure Diskleri

PostgreSQL ve MongoDB gibi veritabanları için ideal olan Azure Diskler, Premium SSD ve Ultra SSD dahil olmak üzere dayanıklılık, ölçeklenebilirlik ve çok katmanlı performans seçenekleri sunar.

Azure Diskler, depolama birimlerinin otomatik olarak sağlanmasına olanak sağlar ve yerleşik yedeklilik ve yüksek kullanılabilirlik içerir.

Azure Elastik SAN (önizleme)

Paylaşılan depolama gereksinimleri ve ölçeklenebilirlik ve yüksek kullanılabilirlik gerektiren genel amaçlı veritabanları için tasarlanan Azure Elastic SAN, CI/CD işlem hatları veya büyük ölçekli veri işleme gibi iş yükleri için uygundur.

Azure Container Storage'ı (sürüm 1.x.x) etkinleştirme ve depolama havuzu oluşturma

Azure Container Storage'ı kümeye yüklemek ve bir Yerel NVMe depolama havuzu oluşturmak için aşağıdaki komutu çalıştırın.

az aks update -n myAKSCluster -g myResourceGroup --enable-azure-container-storage ephemeralDisk --container-storage-version 1 --storage-pool-option NVMe

Dağıtımın 15 dakikadan kısa sürmesi gerekir.

Depolama havuzu durumunu doğrulama

Dağıtım tamamlandığında, seçtiğiniz depolama havuzu türünün bileşenleri etkinleştirilir ve varsayılan bir depolama havuzuna sahip olursunuz.

Kullanılabilir depolama havuzlarının listesini almak için aşağıdaki komutu çalıştırın:

kubectl get sp -n acstor

Depolama havuzunun durumunu denetlemek için aşağıdaki komutu çalıştırın:

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

Message ifadesi StoragePool is ready yazmıyorsa, depolama havuzunuz hâlâ oluşturuluyor ya da bir sorunla karşılaşıyor demektir.

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

Depolama havuzu kullanıma hazır olduğunda, birimleri oluştururken ve 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. Bir pod dağıtmak için sonraki bölümde bu depolama sınıfını kullanın.

Geçici bir genel birimi içeren bir pod dağıtma

Genel geçici birim kullanan, karşılaştırma ve iş yükü simülasyonu için Fio (Esnek G/Ç Testleyici) kullanarak bir pod oluşturun.

  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
      containers:
        - name: fio
          image: nixery.dev/shell/fio
          args:
            - sleep
            - "1000000"
          volumeMounts:
            - mountPath: "/volume"
              name: ephemeralvolume
      volumes:
        - name: ephemeralvolume
          ephemeral:
            volumeClaimTemplate:
              metadata:
                labels:
                  type: my-ephemeral-volume
              spec:
                accessModes: [ "ReadWriteOnce" ]
                storageClassName: acstor-ephemeraldisk-nvme # replace with the name of your storage class if different
                resources:
                  requests:
                    storage: 1Gi
    

    Birimin depolama boyutunu değiştirirseniz, boyutun tek bir düğümün kısa ömürlü diskinin kullanılabilir kapasitesinden küçük olduğundan emin olun. Kullanılabilir kapasiteyi denetlemek için komutunu çalıştırın kubectl get diskpool -n acstor .

  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ıştığını ve geçici hacim talebinin poda başarıyla bağlandığını kontrol edin.

    kubectl describe pod fiopod
    kubectl describe pvc fiopod-ephemeralvolume
    

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

Ek birimler sağlamadan önce kısa ömürlü disklerin kullanılabilir kapasitesini doğrulayın:

kubectl describe node <node-name>

Kalıcı birimler oluşturma da dahil olmak üzere Azure Container Storage (sürüm 1.x.x) hakkında daha fazla bilgi edinmek için bkz. Azure Container Storage nedir?

Kaynakları temizle

Bu öğretici serisinin geri kalanında Azure Container Storage'a ihtiyacınız olmayacaktır, bu nedenle gereksiz Azure ücretlerinden kaçınmak için şimdi silmenizi öneririz.

  1. Podu silin.

    kubectl delete pod fiopod
    
  2. Depolama havuzunu silin.

    kubectl delete sp -n acstor <storage-pool-name>
    
  3. Uzantı örneğini silin.

    az aks update -n myAKSCluster -g myResourceGroup --disable-azure-container-storage all
    

Sonraki adım

Bu öğreticide AKS kümenize Azure Container Storage (sürüm 1.x.x) dağıttınız. Nasıl yapılacağını öğrendinsiniz:

  • AKS kümenizde Azure Container Storage'ı (sürüm 1.x.x) etkinleştirin.
  • Bir yedekleme depolama türü seçin ve bir depolama havuzu oluşturun.
  • Genel bir geçici hacim içeren podu dağıtın.

Sonraki öğreticide, bir uygulamayı kümenize dağıtmayı öğreneceksiniz.