Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du på ett säkert sätt flyttar beständiga Azure Disk-volymer från ett AKS-kluster (Azure Kubernetes Service) till ett annat i samma prenumeration eller i en annan prenumeration. Målprenumerationen måste finnas i samma region.
Sekvensen med steg för att slutföra den här flytten är:
- Kontrollera att Azure Disk-resurstillståndet i AKS-källklustret inte är i anslutet tillstånd för att undvika dataförlust.
- Flytta Azure Disk-resursen till målresursgruppen i samma prenumeration eller en annan prenumeration.
- Kontrollera att Azure Disk-resursflytten lyckades.
- Skapa den beständiga volymen (PV) och det beständiga volymkravet (PVC) och montera sedan den flyttade disken som en volym i en pod på målklustret.
Innan du börjar
- Kontrollera att Azure CLI version 2.0.59 eller senare har installerats och konfigurerats. Kör
az --versionför att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI. - Granska information och krav för att flytta resurser mellan olika regioner i Flytta resurser till en ny resursgrupp eller prenumeration. Se till att granska checklistan innan du flyttar resurser i den artikeln.
- Källklustret måste ha en eller flera permanenta volymer med en Azure-disk ansluten.
- Du måste ha ett AKS-kluster i målprenumerationen.
Verifiera diskvolymtillstånd
Det är viktigt att undvika risken för skadade data, inkonsekvenser eller dataförluster när du arbetar med beständiga volymer. För att minska dessa risker under migrerings- eller flyttprocessen måste du först kontrollera att diskvolymen är oanvänd genom att utföra följande steg.
Identifiera den nodresursgrupp som är värd för Azure-hanterade diskar med hjälp av
az aks showkommandot och lägg till parametern--query nodeResourceGroup.az aks show --resource-group myResourceGroup --name myAKSCluster --query nodeResourceGroup -o tsvKommandots utdata liknar följande exempel:
MC_myResourceGroup_myAKSCluster_eastusVisa en lista över hanterade diskar med kommandot
az disk list. Referera till resursgruppen som returnerades i föregående steg.az disk list --resource-group MC_myResourceGroup_myAKSCluster_eastusGranska listan och notera vilka diskvolymer du planerar att flytta till det andra klustret. Verifiera även disktillståndet genom att leta efter
diskState-egenskapen. Kommandots utdata är ett komprimerat exempel.{ "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",Anteckning
Observera värdet för fältet
resourceGroupför varje disk som du vill flytta från utdata ovan. Den här resursgruppen är nodresursgruppen, inte klusterresursgruppen. Du behöver namnet på den här resursgruppen för att kunna flytta diskarna.Om
diskStatevisarAttached, avgör först om några arbetslaster fortfarande har åtkomst till volymen och stoppa dem. Efter en tidsperiod returnerar disktillståndet tillståndUnattachedoch kan sedan flyttas.
Flytta den beständiga volymen
Om du vill flytta den beständiga volymen eller volymerna till ett annat AKS-kluster följer du stegen som beskrivs i Flytta Azure-resurser till en ny resursgrupp eller prenumeration. Du kan använda Azure Portal, Azure PowerShell eller använda Azure CLI för att utföra migreringen.
Under den här processen refererar du till:
- Namnet eller resurs-ID:t för källnodresursgruppen som är värd för Azure-hanterade diskar. Du hittar namnet på nodresursgruppen genom att gå till instrumentpanelen Diskar i Azure Portal och notera den associerade resursgruppen för disken.
- Namn eller resurs-ID för målresursgruppen som de hanterade diskarna ska flyttas till.
- Namn eller resurs-ID för de hanterade diskresurserna.
Anteckning
På grund av beroendena mellan resursprovidrar kan den här åtgärden ta upp till fyra timmar att slutföra.
Kontrollera att diskvolymen har flyttats
När du har flyttat diskvolymen till målklustrets resursgrupp verifierar du resursen i resursgruppslistan med hjälp av az disk list kommandot . Referera till målresursgruppen där resurserna flyttades. I det här exemplet flyttades diskarna till en resursgrupp med namnet MC_myResourceGroup_myAKSCluster_eastus.
az disk list --resource-group MC_myResourceGroup_myAKSCluster_eastus
Montera den flyttade disken som en volym
För att montera den flyttade diskvolymen skapar du en statisk persistent volym med resurs-ID:t som kopierades i föregående steg, det beständiga volymanspråket och i det här exemplet en enkel podd.
Skapa en pv-azuredisk.yaml-fil med en beständig volym. Uppdatera fältet volumeHandle med diskresurs-ID från föregående steg.
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: ext4Skapa en pvc-azuredisk.yaml-fil med en PersistentVolumeClaim som använder PersistentVolume.
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-azuredisk spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi volumeName: pv-azuredisk storageClassName: managed-csiSkapa PersistentVolume och PersistentVolumeClaim med kommandot
kubectl applyoch referera till de två YAML-filer som du skapade.kubectl apply -f pv-azuredisk.yaml kubectl apply -f pvc-azuredisk.yamlKontrollera att PersistentVolumeClaim har skapats och bundits till PersistentVolume med hjälp av
kubectl getkommandot .kubectl get pvc pvc-azurediskKommandots utdata liknar följande exempel:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pvc-azuredisk Bound pv-azuredisk 20Gi RWO 5sOm du vill referera till din PersistentVolumeClaim skapar du en azure-disk-pod.yaml-fil . I exempelmanifestet är poddens namn mypod.
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-azurediskAnvänd konfigurationen och montera volymen med kommandot kubectl apply .
kubectl apply -f azure-disk-pod.yamlKontrollera statusen för podden och data som har migrerats med volymen monterad i poddfilsystemet på
/mnt/azure. Hämta poddstatusen först med kommandotkubectl get.kubectl get podsKommandots utdata liknar följande exempel:
NAME READY STATUS RESTARTS AGE mypod 1/1 Running 0 4m1sKontrollera data i den monterade volymen
/mnt/azuremed hjälp avkubectl execkommandot .kubectl exec -it mypod -- ls -l /mnt/azure/Kommandots utdata liknar följande exempel:
total 28 -rw-r--r-- 1 root root 0 Jan 11 10:09 file-created-in-source-aks
Nästa steg
- Mer information om diskbaserade lagringslösningar finns i Diskbaserade lösningar i AKS.
- Mer information om metodtips för lagring finns i Metodtips för lagring och säkerhetskopior i Azure Kubernetes Service.