Azure Kubernetes Service üzerinde Azure Premium SSD v2 disklerini kullanma
Azure Premium SSD v2 diskleri GÇ yoğunluklu kurumsal iş yükleri, tutarlı bir milisaniyelik disk gecikme süresi ve yüksek IOPS ve aktarım hızı sunar. Premium SSD v2 disklerinin performansı (kapasite, aktarım hızı ve IOPS) her zaman bağımsız olarak yapılandırılabilir ve performans gereksinimlerini karşılarken daha fazla senaryonun maliyet açısından verimli olmasını kolaylaştırır.
Bu makalede, Azure Premium SSD v2 disklerini kullanmak için yeni veya mevcut bir AKS kümesinin nasıl yapılandırıldığı açıklanır.
Başlamadan önce
Azure Premium SSD v2 disklerini kullanabilen bir AKS kümesi oluşturmadan veya yükseltmeden önce, Premium Depolama destekleyen aynı bölgede ve kullanılabilirlik alanında bir AKS kümesi oluşturmanız ve aşağıdaki adımları izleyerek diskleri eklemeniz gerekir.
Mevcut bir AKS kümesi için, kümenize yeni bir düğüm havuzu ekleyerek Premium SSD v2 disklerini etkinleştirebilir ve ardından aşağıdaki adımları izleyerek diskleri ekleyebilirsiniz.
Önemli
Azure Premium SSD v2 diskleri, bu diskleri destekleyen bölgelere dağıtılmış düğüm havuzları gerektirir. Desteklenen bölgelerin listesi için bkz. Premium SSD v2 disk desteklenen bölgeler.
Sınırlamalar
- Azure Premium SSD v2 disklerinde bilmeniz gereken bazı sınırlamalar vardır. Tam liste için bkz. Premium SSD v2 sınırlamaları.
Premium SSD v2 disklerini bir depolama sınıfıyla dinamik olarak kullanma
Premium SSD v2 disklerini bir dağıtımda veya durum bilgisi olan bir kümede 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 Premium SSD v2 disklerine başvuran bir depolama sınıfı oluşturacaksınız. adlı azure-pv2-disk-sc.yaml
bir dosya oluşturun ve aşağıdaki bildirimde kopyalayın.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: premium2-disk-sc
parameters:
cachingMode: None
skuName: PremiumV2_LRS
DiskIOPSReadWrite: "4000"
DiskMBpsReadWrite: "1000"
provisioner: disk.csi.azure.com
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true
kubectl apply komutuyla depolama sınıfını oluşturun ve azure-pv2-disk-sc.yaml dosyanızı belirtin:
kubectl apply -f azure-pv2-disk-sc.yaml
Komutun çıktısı aşağıdaki örneğe benzer:
storageclass.storage.k8s.io/premium2-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ı azure-pv2-disk-pvc.yaml
bir dosya oluşturun ve aşağıdaki bildirimde kopyalayın. Talep, ReadWriteOnce erişimiyle boyutu 1000 GB olan adlı premium2-disk
bir disk talep eder.
Premium2-disk-sc depolama sınıfı, depolama sınıfı olarak belirtilir.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: premium2-disk
spec:
accessModes:
- ReadWriteOnce
storageClassName: premium2-disk-sc
resources:
requests:
storage: 1000Gi
kubectl apply komutuyla kalıcı birim talebi oluşturun ve azure-pv2-disk-pvc.yaml dosyanızı belirtin:
kubectl apply -f azure-pv2-disk-pvc.yaml
Komutun çıktısı aşağıdaki örneğe benzer:
persistentvolumeclaim/premium2-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 premium2-disk adlı kalıcı birim talebi kullanan temel bir NGINX podu oluşturur.
adlı nginx-premium2.yaml
bir dosya oluşturun ve aşağıdaki bildirimde kopyalayın.
kind: Pod
apiVersion: v1
metadata:
name: nginx-premium2
spec:
containers:
- name: nginx-premium2
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: premium2-disk
Aşağıdaki örnekte gösterildiği gibi kubectl apply komutuyla pod oluşturun:
kubectl apply -f nginx-premium2.yaml
Komutun çıktısı aşağıdaki örneğe benzer:
pod/nginx-premium2 created
Artık azure diskinizin dizinine bağlı olarak çalışan bir podunuz /mnt/azure
var. Bu yapılandırma, aşağıdaki daraltılmış örnekte gösterildiği gibi aracılığıyla kubectl describe pod nginx-premium2
podunuz incelenirken görülebilir:
kubectl describe pod nginx-premium2
[...]
Volumes:
volume:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: premium2-disk
ReadOnly: false
kube-api-access-sh59b:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: node.kubernetes.io/memory-pressure:NoSchedule op=Exists
node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 7m58s default-scheduler Successfully assigned default/nginx-premium2 to aks-agentpool-12254644-vmss000006
Normal SuccessfulAttachVolume 7m46s attachdetach-controller AttachVolume.Attach succeeded for volume "pvc-ff39fb64-1189-4c52-9a24-e065b855b886"
Normal Pulling 7m39s kubelet Pulling image "mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine"
Normal Pulled 7m38s kubelet Successfully pulled image "mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine" in 1.192915667s
Normal Created 7m38s kubelet Created container nginx-premium2
Normal Started 7m38s kubelet Started container nginx-premium2
[...]
IOPS ve aktarım hızı sınırlarını ayarlama
Azure Premium v2 SSD disk için Saniye Başına Giriş/Çıkış İşlemleri (IOPS) ve aktarım hızı sınırları şu anda AKS aracılığıyla desteklenmemaktadır. Performansı ayarlamak için az disk update Azure CLI komutunu kullanabilir ve ve --disk-mbps-read-write
parametrelerini dahil --disk-iops-read-write
edebilirsiniz.
Aşağıdaki örnek, IOPS okuma/yazma diskini 5000 ve Mb/sn'yi 200 olarak güncelleştirir. için --resource-group
değeri, adlandırma kuralı MC_resourcegroupname_clustername_location AKS çalışan düğümlerini depolamak için otomatik olarak oluşturulan ikinci kaynak grubu olmalıdır. Daha fazla bilgi için bkz. AKS ile neden iki kaynak grubu oluşturulur?.
parametresinin --name
değeri StorageClass kullanılarak oluşturulan birimin adıdır ve ile pvc-
başlar. Disk adını tanımlamak için portalda çalıştırabilir kubectl get pvc
veya ikincil kaynak grubuna gidip bulabilirsiniz. Daha fazla bilgi edinmek için bkz. Azure portal kaynakları yönetme.
az disk update --subscription subscriptionName --resource-group myResourceGroup --name diskName --disk-iops-read-write=5000 --disk-mbps-read-write=200
Sonraki adımlar
- Premium SSD v2 diskleri hakkında daha fazla bilgi için bkz. Azure Premium SSD v2 disklerini kullanma.
- Depolamanın en iyi yöntemleri hakkında daha fazla bilgi için bkz. Azure Kubernetes Service'de (AKS) depolama ve yedeklemeler için en iyi yöntemler.
Azure Kubernetes Service
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin