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.
Bu makalede, Azure Disk kalıcı birimlerinin aynı abonelikte veya farklı bir abonelikte bir Azure Kubernetes Service (AKS) kümesinden diğerine güvenli bir şekilde nasıl taşındığı açıklanmaktadır. Hedef abonelik aynı bölgede olmalıdır.
Bu taşımayı tamamlama adımlarının sırası şunlardır:
- Veri kaybını önlemek için kaynak AKS kümesindeki Azure Disk kaynak durumunun Bağlı durumda olmadığını onaylayın.
- Azure Disk kaynağını aynı abonelikteki veya farklı bir abonelikteki hedef kaynak grubuna taşıyın.
- Azure Disk kaynak taşıma işleminin başarılı olduğunu doğrulayın.
- Kalıcı disk (PV) ve kalıcı disk talebi (PVC) oluşturun, ardından taşınan diski hedef kümedeki bir podule birim olarak bağlayın.
Başlamadan önce
- Azure CLI sürüm 2.0.59 veya üzerinin yüklü ve yapılandırılmış olduğundan emin olun. Sürümü bulmak için
az --versionkomutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme. - Kaynakları yeni bir kaynak grubuna veya aboneliğe taşıma bölümünde kaynakları farklı bölgeler arasında taşıma hakkındaki ayrıntıları ve gereksinimleri gözden geçirin. Bu makaledeki kaynakları taşımadan önce denetim listesini gözden geçirmeyi unutmayın.
- Kaynak kümede Azure Disk'in bağlı olduğu bir veya daha fazla kalıcı birim olmalıdır.
- Hedef abonelikte bir AKS kümeniz olmalıdır.
Disk birimi durumunu doğrulama
Kalıcı birimlerle çalışırken veri bozulması, tutarsızlıklar veya veri kaybı riskini önlemek önemlidir. Geçiş veya taşıma işlemi sırasında bu riskleri azaltmak için önce aşağıdaki adımları uygulayarak disk biriminin bağlı olmadığını doğrulamanız gerekir.
komutunu kullanarak
az aks showAzure yönetilen disklerini barındıran düğüm kaynak grubunu belirleyin ve parametresini--query nodeResourceGroupekleyin.az aks show --resource-group myResourceGroup --name myAKSCluster --query nodeResourceGroup -o tsvKomutun çıkışı aşağıdaki örneğe benzer:
MC_myResourceGroup_myAKSCluster_eastuskomutunu kullanarak yönetilen diskleri listeleyin
az disk list. Önceki adımda döndürülen kaynak grubuna başvurun.az disk list --resource-group MC_myResourceGroup_myAKSCluster_eastusListeyi gözden geçirin ve diğer kümeye taşımayı planladığınız disk birimlerini not edin. Ayrıca
diskStateözelliğini arayarak disk durumunu doğrulayın. Komutun çıktısı daraltılmış bir örnektir.{ "LastOwnershipUpdateTime": "2023-04-25T15:09:19.5439836+00:00", "creationData": { "createOption": "Empty", "logicalSectorSize": 4096 }, "diskIOPSReadOnly": 3000, "diskIOPSReadWrite": 4000, "diskMBpsReadOnly": 125, "diskMBpsReadWrite": 1000, "diskSizeBytes": 1073741824000, "diskSizeGB": 1000, "diskState": "Unattached",Not
Yukarıdaki çıktıdan taşımak istediğiniz her disk için alanın değerini
resourceGroupnot edin. Bu kaynak grubu küme kaynak grubu değil düğüm kaynak grubudur. Diskleri taşımak için bu kaynak grubunun adına ihtiyacınız olacaktır.diskStateAttachedgösterirse, önce herhangi bir iş yükünün birime erişmeye devam edip etmediğini belirleyin ve onları durdurun. Bir süre sonra disk durumuUnattachedhaline geri döner ve ardından taşınabilir hale gelir.
Kalıcı birimi taşıma
Kalıcı birimi veya birimleri başka bir AKS kümesine taşımak için Azure kaynaklarını yeni bir kaynak grubuna veya aboneliğe taşıma başlığı altında açıklanan adımları izleyin. Geçişi gerçekleştirmek için Azure portalını, Azure PowerShell'i veya Azure CLI'yi kullanabilirsiniz.
Bu işlem sırasında aşağıdakilere başvurursunuz:
- Azure tarafından yönetilen diskleri barındıran kaynak düğümü kaynak grubunun adı veya kaynak kimliği. Azure portalında Diskler panosuna gidip diskiniz için ilişkili kaynak grubunu not ederek düğüm kaynak grubunun adını bulabilirsiniz.
- Yönetilen disklerin taşınacak hedef kaynak grubunun adı veya kaynak kimliği.
- Yönetilen disk kaynaklarının adı veya kaynak kimliği.
Not
Kaynak sağlayıcıları arasındaki bağımlılıklar nedeniyle bu işlemin tamamlanması dört saate kadar sürebilir.
Disk biriminin taşındığını doğrulayın
Disk birimini hedef küme kaynak grubuna taşıdıktan sonra komutunu kullanarak az disk list kaynak grubu listesindeki kaynağı doğrulayın. Kaynakların taşındığı hedef kaynak grubuna başvurun. Bu örnekte, diskler MC_myResourceGroup_myAKSCluster_eastus adlı bir kaynak grubuna taşındı.
az disk list --resource-group MC_myResourceGroup_myAKSCluster_eastus
Taşınan diski birim olarak bağla
Taşınan disk birimini bağlamak için, önceki adımlarda kopyalanan kaynak kimliğini kullanarak statik bir kalıcı birim, kalıcı birim talebi ve bu örnekte basit bir pod oluşturun.
Kalıcı bir birime sahip bir pv-azuredisk.yaml dosyası oluşturun. volumeHandle alanını önceki adımdaki disk kaynak kimliğiyle güncelleştirin.
apiVersion: v1 kind: PersistentVolume metadata: name: pv-azuredisk spec: capacity: storage: 10Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: managed-csi csi: driver: disk.csi.azure.com readOnly: false volumeHandle: /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MC_rg_azure_aks-pvc-target_eastus/providers/Microsoft.Compute/disks/pvc-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e volumeAttributes: fsType: ext4PersistentVolume kullanan bir PersistentVolumeClaim içeren pvc-azuredisk.yaml dosyası oluşturun.
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-azuredisk spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi volumeName: pv-azuredisk storageClassName: managed-csikomutunu kullanarak PersistentVolume ve oluşturun ve oluşturduğunuz iki YAML dosyasına başvurun.
kubectl apply -f pv-azuredisk.yaml kubectl apply -f pvc-azuredisk.yamlkomutunu kullanarak PersistentVolumeClaim'inizin oluşturulduğunu ve PersistentVolume'a
kubectl getbağlı olduğunu doğrulayın.kubectl get pvc pvc-azurediskKomutun çıkışı aşağıdaki örneğe benzer:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pvc-azuredisk Bound pv-azuredisk 20Gi RWO 5sPersistentVolumeClaim'inize başvurmak için bir azure-disk-pod.yaml dosyası oluşturun. Örnek bildirimde podun adı mypod'dur.
apiVersion: v1 kind: Pod metadata: name: mypod spec: nodeSelector: kubernetes.io/os: linux containers: - image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine name: mypod resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi volumeMounts: - name: azure mountPath: /mnt/azure volumes: - name: azure persistentVolumeClaim: claimName: pvc-azurediskKubectl apply komutunu kullanarak yapılandırmayı uygulayın ve birimi bağlayın .
kubectl apply -f azure-disk-pod.yamlpod durumunu ve geçirilen verileri üzerindeki
/mnt/azurepod dosya sisteminin içine bağlanmış birimle denetleyin. Öncelikle,kubectl getkomutunu kullanarak pod durumunu alın.kubectl get podsKomutun çıkışı aşağıdaki örneğe benzer:
NAME READY STATUS RESTARTS AGE mypod 1/1 Running 0 4m1skomutunu kullanarak
/mnt/azurebağlı biriminkubectl execiçindeki verileri doğrulayın.kubectl exec -it mypod -- ls -l /mnt/azure/Komutun çıkışı aşağıdaki örneğe benzer:
total 28 -rw-r--r-- 1 root root 0 Jan 11 10:09 file-created-in-source-aks
Sonraki adımlar
- Disk tabanlı depolama çözümleri hakkında daha fazla bilgi için bkz . AKS'de disk tabanlı çözümler.
- Depolamanın en iyi yöntemleri hakkında daha fazla bilgi için bkz . Azure Kubernetes Service'te depolama ve yedekleme için en iyi yöntemler.