Azure Kubernetes Service üzerinde Azure ultra diskleri kullanma
Azure ultra diskleri durum bilgisi olan uygulamalarınız için yüksek aktarım hızına, yüksek IOPS'ye ve tutarlı olarak düşük gecikme süresine sahip disk depolaması getirir. Ultra disklerin önemli avantajlarından biri aracı düğümlerinizi yeniden başlatmanıza gerek kalmadan SSD'nin ve iş yüklerinizin performansını dinamik olarak değiştirebilme özelliğidir. Ultra diskler yoğun veri gerektiren iş yüklerine uygundur.
Bu makalede, Azure ultra disklerini kullanmak için yeni veya mevcut bir AKS kümesinin nasıl yapılandırıldığı açıklanır.
Başlamadan önce
Bu özellik yalnızca küme oluşturma sırasında veya düğüm havuzu oluşturulurken ayarlanabilir.
Sınırlamalar
- Azure ultra diskler, kullanılabilirlik alanlarına ve bu diskleri destekleyen bölgelere dağıtılan düğüm havuzlarını gerektirir ve yalnızca belirli VM serileri tarafından desteklenir. Daha fazla bilgi için Ultra disk sınırlamaları bölümündeki ilgili tabloyu gözden geçirin.
- Ultra diskler kullanılabilirlik kümeleri veya Azure Disk Şifrelemesi gibi bazı özellikler ve işlevlerle kullanılamaz. En son bilgiler için Ultra disk sınırlamalarını gözden geçirin.
Ultra diskler kullanabilen bir küme oluşturma
Aşağıdaki CLI komutlarını kullanarak Azure ultra Disklerden yararlanabilen bir AKS kümesi oluşturun. --enable-ultra-ssd
Özelliği ayarlamak için parametresini EnableUltraSSD
kullanın.
az aks create -g MyResourceGroup -n myAKSCluster -l westus2 --node-vm-size Standard_D2s_v3 --zones 1 2 --node-count 2 --enable-ultra-ssd
Ultra disk desteği olmadan bir küme oluşturmak istiyorsanız, parametresini --enable-ultra-ssd
atlayarak bunu yapabilirsiniz.
Mevcut kümede ultra diskleri etkinleştirme
Mevcut bir kümede ultra diskleri destekleyen yeni bir düğüm havuzu ekleyerek ultra diskleri etkinleştirebilirsiniz. komutuyla az aks nodepool add
parametresini kullanarak --enable-ultra-ssd
ultra diskleri kullanmak için yeni bir düğüm havuzu yapılandırın.
Ultra disk desteği olmadan yeni düğüm havuzları oluşturmak istiyorsanız, parametresini --enable-ultra-ssd
dışlayarak bunu yapabilirsiniz.
Bir depolama sınıfıyla ultra diskleri dinamik olarak kullanma
Dağıtımlarınızda veya durum bilgisi olan kümelerde ultra diskleri kullanmak için dinamik sağlama için bir depolama sınıfı kullanabilirsiniz.
Depolama sınıfını oluşturma
Depolama sınıfı, bir depolama biriminin kalıcı bir birimle dinamik olarak nasıl oluşturulduğunu tanımlamak için kullanılır. Kubernetes depolama sınıfları hakkında daha fazla bilgi için bkz. Kubernetes depolama sınıfları. Bu örnekte ultra disklere başvuran bir depolama sınıfı oluşturacağız.
Adlı bir dosya
azure-ultra-disk-sc.yaml
oluşturun ve aşağıdaki bildirimde kopyalayın:kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: ultra-disk-sc provisioner: disk.csi.azure.com # replace with "kubernetes.io/azure-disk" if aks version is less than 1.21 volumeBindingMode: WaitForFirstConsumer # optional, but recommended if you want to wait until the pod that will use this disk is created parameters: skuname: UltraSSD_LRS kind: managed cachingMode: None diskIopsReadWrite: "2000" # minimum value: 2 IOPS/GiB diskMbpsReadWrite: "320" # minimum value: 0.032/GiB
komutunu kullanarak depolama sınıfını
kubectl apply
oluşturun ve dosyanızıazure-ultra-disk-sc.yaml
belirtin.kubectl apply -f azure-ultra-disk-sc.yaml
Çıkışınız aşağıdaki örnek çıkışa benzemelidir:
storageclass.storage.k8s.io/ultra-disk-sc created
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. Bu durumda, bir PVC ultra disk oluşturmak için önceden oluşturulmuş depolama sınıfını kullanabilir.
Adlı bir dosya
azure-ultra-disk-pvc.yaml
oluşturun ve aşağıdaki bildirimde kopyalayın:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ultra-disk spec: accessModes: - ReadWriteOnce storageClassName: ultra-disk-sc resources: requests: storage: 1000Gi
Talep, ReadWriteOnce erişimiyle boyutu 1000 GB olan adlı
ultra-disk
bir disk talep eder. Ultra-disk-sc depolama sınıfı depolama sınıfı olarak belirtilir.komutunu kullanarak
kubectl apply
kalıcı birim talebi oluşturun ve dosyanızıazure-ultra-disk-pvc.yaml
belirtin.kubectl apply -f azure-ultra-disk-pvc.yaml
Çıkışınız aşağıdaki örnek çıkışa benzemelidir:
persistentvolumeclaim/ultra-disk created
Kalıcı birimi kullanma
Kalıcı birim talebi oluşturulduktan ve disk başarıyla sağlandıktan sonra, diske erişim ile bir pod oluşturulabilir. Aşağıdaki bildirim, Azure diskini yoluna /mnt/azure
bağlamak için ultra-disk adlı kalıcı birim talebi kullanan temel bir NGINX podu oluşturur.
Adlı bir dosya
nginx-ultra.yaml
oluşturun ve aşağıdaki bildirimde kopyalayın:kind: Pod apiVersion: v1 metadata: name: nginx-ultra spec: containers: - name: nginx-ultra image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi volumeMounts: - mountPath: "/mnt/azure" name: volume volumes: - name: volume persistentVolumeClaim: claimName: ultra-disk
komutunu kullanarak
kubectl apply
pod'u oluşturun ve dosyanızınginx-ultra.yaml
belirtin.kubectl apply -f nginx-ultra.yaml
Çıkışınız aşağıdaki örnek çıkışa benzemelidir:
pod/nginx-ultra created
Artık azure diskinizin dizinine bağlı olduğu çalışan bir podunuz
/mnt/azure
var.komutunu kullanarak
kubectl describe pod
yapılandırma ayrıntılarınıza bakın ve dosyanızınginx-ultra.yaml
belirtin.kubectl describe pod nginx-ultra
Çıkışınız aşağıdaki örnek çıkışa benzemelidir:
[...] Volumes: volume: Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace) ClaimName: azure-managed-disk ReadOnly: false default-token-smm2n: Type: Secret (a volume populated by a Secret) SecretName: default-token-smm2n Optional: false [...] Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 2m default-scheduler Successfully assigned mypod to aks-nodepool1-79590246-0 Normal SuccessfulMountVolume 2m kubelet, aks-nodepool1-79590246-0 MountVolume.SetUp succeeded for volume "default-token-smm2n" Normal SuccessfulMountVolume 1m kubelet, aks-nodepool1-79590246-0 MountVolume.SetUp succeeded for volume "pvc-faf0f176-8b8d-11e8-923b-deb28c58d242" [...]
Sonraki adımlar
- Ultra diskler hakkında daha fazla bilgi için bkz. Azure ultra diskleri kullanma.
- Depolamanın en iyi yöntemleri hakkında daha fazla bilgi için bkz. AKS'de depolama ve yedekleme için en iyi yöntemler.