VK Cloud logo

Қолмен резервтік көшіру

Velero құралын кластер деректерінің резервтік көшірмелерін қолмен жасау және оларды қалпына келтіру үшін пайдаланыңыз.

Дайындық қадамдары

  1. Жасаңыз Kubernetes кластерін өзекті нұсқада, егер бұл әлі жасалмаған болса.

    ME1 қолжетімділік аймағында бір немесе бірнеше worker-түйіндер тобын орналастырыңыз. Кластердің қалған параметрлерін өз қалауыңыз бойынша таңдаңыз.

  2. Көз жеткізіңіз, kubectl көмегімен кластерге қосыла алатыныңызға.

  3. Орнатып, баптаңыз Velero, егер бұл әлі жасалмаса.

  4. Орнатыңыз OpenStack CLI, егер бұл әлі жасалмаса. Оның көмегімен бұлтта авторизациялана алатыныңызға көз жеткізіңіз.

1. Қосымшаны жасаңыз

Резервтік көшірмені жасау және одан қалпына келтірумен танысу үшін coffee демо-қосымшасын жасаңыз. Бұл қосымшаға тұрақты том (persistent volume) қосылады.

  1. Манифест файлын жасаңыз:

  2. Манифест негізінде қажетті Kubernetes ресурстарын жасаңыз:

    kubectl apply -f coffee.yaml

    Қосымшаның жұмысына қажетті барлық Kubernetes ресурстары example-app жеке аттар кеңістігіне (namespace) орналастырылады.

  3. Тұрақты том үшін диск жасалғанына көз жеткізіңіз:

    1. Қосымша үшін жасалған тұрақты томды табыңыз:

      kubectl get pv -n example-app

      Шығарылған кестеден CLAIM бағанында example-app/coffee-pvc көрсетілген тұрақты томның ID-сін табыңыз:

      NAME                    ...   STATUS   CLAIM                    ......                     ...   ...      ...                      ...<ID_ПОСТОЯННОГО_ТОМА>   ...   Bound    example-app/coffee-pvc   ...
    2. Жасалған тұрақты том үшін диск ID-сін алыңыз:

      kubectl describe pv <ID_ПОСТОЯННОГО_ТОМА> -n example-app

      Команда шығысында диск ID-сі VolumeHandle параметрінде болады:

      ...Source:    Type:              CSI (a Container Storage Interface (CSI) volume source)    Driver:            cinder.csi.openstack.org    FSType:            ...    VolumeHandle:      <ID_ДИСКА>    ...
    3. Осындай ID-і бар диск туралы толық ақпаратты OpenStack CLI пайдаланып алыңыз:

      openstack volume show <ID_ДИСКА> --fit-width
  4. Жүктеме теңгергішіне жария IP-мекенжай тағайындалғанша күтіңіз.

    Теңгергіштің күйін мерзімді түрде тексеріп отырыңыз:

    kubectl get svc -n example-app

    EXTERNAL-IP бағанында теңгергішке тағайындалған жария IP-мекенжай пайда болуы керек.

  5. NGINX сұрауларға жауап беретініне көз жеткізіңіз:

    curl <ПУБЛИЧНЫЙ_IP_АДРЕС_БАЛАНСИРОВЩИКА>

    Келесі мәтін шығарылуы керек:

    The coffee pod says Hello World to everyone! This file is located on the dynamically claimed Cinder ReadWriteOnce persistent volume.

2. Қосымшаның резервтік көшірмесін жасаңыз

  1. Қосымшаның жұмысына қажетті ресурстар орналасқан example-app аттар кеңістігінің толық қолмен резервтік көшірмесін жасаңыз:

    velero backup create coffee-backup --include-namespaces example-app
  2. Резервтік көшірме туралы егжей-тегжейлі ақпаратты жүктеңіз:

    velero backup describe coffee-backup
  3. (Опционалды) Резервтік көшіру операциясының логтарын қараңыз:

    velero backup logs coffee-backup
  4. (Опционалды) Баптаңыз резервтік көшірмелерді автоматты түрде жасау кестесін.

3. Қосымшаны резервтік көшірмеден қалпына келтіріңіз

  1. Қосымшаның істен шығуын имитациялаңыз. Ол үшін қосымшаның жұмысына қажетті ресурстар орналасқан example-app аттар кеңістігін жойыңыз:

    kubectl delete ns example-app
  2. Бұрын жасалған резервтік көшірмеден қалпына келтіруді орындаңыз:

    velero restore create --from-backup coffee-backup

    Команда деректерді резервтік көшіру орындалған сол кластерге қалпына келтіреді. Егер деректерді жаңа кластерге қалпына келтіру қажет болса:

    1. Жасаңыз кластер.
    2. Орнатыңыз Velero кластерге.
    3. Жоғарыда келтірілген команданы орындаңыз.
  3. Жүктеме теңгергішіне жария IP-мекенжай тағайындалғанша күтіңіз.

    Теңгергіштің күйін мерзімді түрде тексеріп отырыңыз:

    kubectl get svc -n example-app

    EXTERNAL-IP бағанында теңгергішке тағайындалған жария IP-мекенжай пайда болуы керек.

  4. NGINX сұрауларға жауап беретініне көз жеткізіңіз:

    curl <ПУБЛИЧНЫЙ_IP_АДРЕС_БАЛАНСИРОВЩИКА>

    Келесі мәтін шығарылуы керек:

    The coffee pod says Hello World to everyone! This file is located on the dynamically claimed Cinder ReadWriteOnce persistent volume.

Пайдаланылмайтын ресурстарды жойыңыз

Жұмыс істеп тұрған кластер тарифтеледі және есептеу ресурстарын тұтынады. Егер Velero құралы мен оның көмегімен резервтік көшіруді тексеру үшін жасалған Kubernetes ресурстары енді қажет болмаса, оларды жойыңыз:

  1. Жасалған example-app аттар кеңістігін және онымен байланысты ресурстарды, сондай-ақ жасалған резервтік көшірмені жойыңыз:

    kubectl delete ns example-appvelero backup delete coffee-backup
  2. Velero-ны жойыңыз:

    velero uninstall
  3. Жойыңыз Velero пайдаланған бакеттен резервтік көшірмелерді.

    Қажет болса, сондай-ақ бакеттің өзін де жойыңыз.

  4. Тоқтатыңыз жасалған кластерді, оны кейінірек пайдалану үшін, немесе жойыңыз оны біржола.