Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Container Storage ile alanlar arası yedekli depolama (ZRS) veya yerel olarak yedekli depolama (LRS) kullanarak durum bilgisi olan uygulama kullanılabilirliğini geliştirebilirsiniz. Dayanıklılık ve performans gereksinimlerinize bağlı olarak, açık bölge yerleştirme için LRS'yi veya üç kullanılabilirlik bölgesinde zaman uyumlu çoğaltma için ZRS'yi seçin.
Yedeklilik modeli seçme
Yerel olarak yedekli depolama (LRS):LRS ile Azure, her Elastik SAN'ın üç kopyasını tek bir veri merkezinde depolar. Bu yedeklilik, başarısız disk gibi donanım hatalarına karşı koruma sağlar. Bu veri merkezinde bir olağanüstü durum oluşursa, tüm çoğaltmalar kaybolabilir veya kullanılamaz.
Alanlar arası yedekli depolama (ZRS): ZRS ile Azure, her Elastik SAN'ın üç kopyasını aynı bölgedeki üç ayrı kullanılabilirlik alanında depolar. Yazma işlemleri eşzamanlı. Yazma işlemi, yalnızca üç kopyanın tümü güncellendikten sonra tamamlanır.
Önkoşullar
Eğer bir Azure aboneliğiniz yoksa, başlamadan önce ücretsiz bir hesap oluşturun.
Bu makale, Azure CLI sürüm v2.83.0 veya üzerini gerektirir. Daha fazla bilgi için bkz. Azure CLI'yi yükleme. Sorun yaşarsanız
aks-previewgibi uzantıları devre dışı bırakın. Uzantıları gerektiği gibi yükleyin veya güncelleştirin:az extension add --upgrade --name k8s-extension-
az extension add --upgrade --name elastic-san(Yalnızca elastik SAN)
Kubernetes komut satırı istemcisine ihtiyacınız vardır.
kubectlAzure Cloud Shell kullanıyorsanız zaten yüklüdür. komutunu çalıştırarakaz aks install-cliyerel olarak yükleyebilirsiniz.Hedef bölgenizin Azure Container Storage bölgelerinde desteklenip desteklenmediğini denetleyin.
Elastik SAN'ı abonelikte ilk kez kullanıyorsanız şu tek seferlik kayıt komutunu çalıştırın:
az provider register --namespace Microsoft.ElasticSanBir bölgede ZRS yeni etkinleştirildiğinde, Azure Container Storage'ın SAN hedeflerini dağıtabilmesi için abonelik düzeyi özellik bayrağı kaydetmeniz gerekebilir:
az feature register \ --namespace Microsoft.ElasticSan \ --name EnableElasticSANTargetDeploymentBölgenin seçtiğiniz yedeklilik seçeneğini desteklediğini doğrulayın. Geçerli Elastik SAN bölgesi kullanılabilirliğine bakın.
Yerel olarak yedekli depolama ile StorageClass oluşturma
Bölge belirtmeden LRS SKU'su kullanma
Bir bölge bölgeleri destekliyorsa ve StorageClass'ta bir bölge belirtmezseniz, Azure Container Storage varsayılan olarak bölge 1 olarak belirlenir.
gibi storageclass.yamlbir YAML bildirim dosyası oluşturun ve aşağıdaki belirtimi kullanın.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: esan-lrs-default
provisioner: san.csi.azure.com
parameters:
skuName: Premium_LRS
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
LRS SKU'su kullanma ve bölge belirtme
Kullanılabilirlik alanlarını destekleyen bölgelerde LRS Elastik SAN oluştururken tek bir bölge kullanın. Bölgeleri olmayan bölgelerde doğrulama hatalarını önlemek için parametresini atlar zones .
Bölge sabitlemeli LRS için zamanlayıcı podu belirtilen bölgedeki bir düğüme yerleştirir ve kalıcı birim (PV) ilgili bölgenin SAN'sına bağlanır. LRS birimlerine herhangi bir bölgeden erişilebildiği için Azure Container Storage bölgeler arası ekleri kısıtlamaz. bölümü, allowedTopologies PV'nin LRS SAN ile aynı bölgedeki bir düğüme bağlanmasını sağlar.
gibi storageclass.yamlbir YAML bildirim dosyası oluşturun ve aşağıdaki belirtimi kullanın.
# LRS with a zone (2)
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: esan-lrs-zone2
provisioner: san.csi.azure.com
parameters:
skuName: Premium_LRS
zones: "2"
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
# Optional:
allowedTopologies:
- matchLabelExpressions:
- key: topology.kubernetes.io/zone
values:
- canadacentral-2
Bölgeye göre yedekli depolama ile bir StorageClass oluşturun.
Azure Container Storage varsayılan olarak üç bölgeyi de içerdiği için bölgeleri belirtmeniz gerekmez. Alanı ayarlarsanız zones üç bölgeyi de "1,2,3" olarak listeleyin.
gibi storageclass.yamlbir YAML bildirim dosyası oluşturun ve aşağıdaki belirtimi kullanın.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: esan-zrs-zones
provisioner: san.csi.azure.com
parameters:
skuName: Premium_ZRS
zones: "1,2,3" # optional
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
StorageClass oluşturma
kubectl apply -f storageclass.yaml
StorageClass'ın oluşturulduğunu doğrulayın:
kubectl get storageclass <storage-class-name>
Aşağıdakine benzer bir çıktı görmeniz gerekir:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
esan-zrs-zones san.csi.azure.com Delete WaitForFirstConsumer true 10s
Kalıcı birim talebi oluştur
gibi acstor-pvc.yamlbir YAML bildirim dosyası oluşturun. PVC name değeri herhangi bir değer olabilir. Önceki adımlarda oluşturduğunuz StorageClass adını kullanın.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: managedpvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: esan-zrs-zones # or esan-lrs-zone2, esan-lrs-default
PVC'yi oluşturmak için manifesti uygulayın.
kubectl apply -f acstor-pvc.yaml
Aşağıdakine benzer bir çıktı görmeniz gerekir:
persistentvolumeclaim/managedpvc created
Pod kurma ve kalıcı birim bağlama
gibi acstor-pod.yamlbir YAML bildirim dosyası oluşturun.
apiVersion: v1
kind: Pod
metadata:
name: esan-app
spec:
containers:
- name: app
image: mcr.microsoft.com/oss/nginx/nginx:1.25.2
volumeMounts:
- name: data
mountPath: /data
volumes:
- name: data
persistentVolumeClaim:
claimName: managedpvc
Pod oluşturmak için manifest dosyasını uygulayın.
kubectl apply -f acstor-pod.yaml
Aşağıdakine benzer bir çıktı görmeniz gerekir:
pod/esan-app created
PV ve StorageClass'ı doğrulayın:
kubectl get pv
kubectl describe sc esan-zrs-zones
kubectl describe sc esan-lrs-zone2
Elastik SAN bölge listesiyle birimler için bölgesel destek ve yedeklilik modelini onaylayın.