VK Cloud logo

Velero орнату

Velero — Kubernetes кластері ресурстарының резервтік көшірмесін жасауға және оларды қалпына келтіруге арналған клиент-серверлік утилита.

Орнату

  1. Мыналарға көз жеткізіңіз:

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

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

  4. VK Object Storage сервисінде резервтік көшірмелерді сақтау үшін hotbox-бакет жасаңыз.

  5. VK Object Storage сервисінде аккаунт жасаңыз.

    Шығарылған кілт идентификаторы мен құпияны s3_creds файлына сақтаңыз:

    [default]aws_access_key_id=<ИДЕНТИФИКАТОР_КЛЮЧА_ACCESS_KEY_ID>aws_secret_access_key=<СЕКРЕТНЫЙ_КЛЮЧ_SECRET_KEY>
  6. Velero орнатылатын Kubernetes кластері нұсқасымен үйлесімді Velero нұсқасын анықтаңыз.

  7. Velero клиентінің қажетті нұсқасын жүктеп алыңыз.

  8. Қолданылып жатқан Velero нұсқасына сәйкес келетін AWS плагинінің нұсқасын анықтаңыз.

  9. Клиентке дейінгі жолды орта айнымалысына қосыңыз:

    • Windows үшін Path.
    • Linux/macOS үшін PATH.
  10. Velero серверлік бөлігін Kubernetes кластеріне орнатыңыз. Командада Velero үшін жасалған бакет атын және аккаунт деректері бар s3_creds файлына дейінгі жолды көрсетіңіз:

    velero install \--plugins \  velero/velero-plugin-for-aws:v1.8.2,registry.infra.mail.ru:5010/velero/velero-plugin-mcs:v1.13.1 \--provider aws \--bucket <ИМЯ_БАКЕТА_VELERO> \--secret-file <ПУТЬ_К_ФАЙЛУ_S3_CREDS> \--use-volume-snapshots=false \--backup-location-config \  region=ru-msk,s3ForcePathStyle="true",checksumAlgorithm="",s3Url=<ДОМЕН>

    Мұнда <ДОМЕН> — аккаунт аймағына сәйкес VK Object Storage сервисінің домені:

    • https://hb.ru-msk.vkcloud-storage.ru — Мәскеу аймағының домені.
    • https://hb.kz-ast.bizmrg.com — Қазақстан аймағының домені.

    Орнату аяқталғаннан кейін хабарлама шығарылады:

    Velero is installed! ⛵ Use 'kubectl logs deployment/velero -n velero' to view the status.
  11. Velero серверлік бөлігі VK Cloud бұлтында авторизациялана алуы үшін Kubernetes құпиясын жасаңыз:

    kubectl -n velero create secret generic openstack-cloud-credentials \  --from-literal OS_PROJECT_ID=$OS_PROJECT_ID \  --from-literal OS_REGION_NAME=$OS_REGION_NAME \  --from-literal OS_IDENTITY_API_VERSION=$OS_IDENTITY_API_VERSION \  --from-literal OS_PASSWORD=$OS_PASSWORD \  --from-literal OS_AUTH_URL=$OS_AUTH_URL \  --from-literal OS_USERNAME=$OS_USERNAME \  --from-literal OS_INTERFACE=$OS_INTERFACE \  --from-literal OS_FILE_OPERATION_TIMEOUT=$OS_FILE_OPERATION_TIMEOUT \  --from-literal OS_DOMAIN_NAME=$OS_USER_DOMAIN_NAME \  -o yaml

    Ұқсас ақпарат шығуы керек:

    apiVersion: v1data:  OS_AUTH_URL: ...  OS_DOMAIN_NAME: ...  ...kind: Secretmetadata:  creationTimestamp: ...  name: openstack-cloud-credentials  namespace: velero  resourceVersion: ...  selfLink: ...  uid: ...type: Opaque
  12. Кластердегі Velero deployment-ын патчтаңыз. Бұл үшін қажет:

    • Velero-ның AWS және VK Cloud плагиндері тұтынатын ресурстарды шектеу;
    • VK Cloud бұлтында авторизациялануға арналған айнымалылары бар құпияны көрсету.
    1. Патч файлын жасаңыз:

    2. Патчты Velero deployment-ына қолданыңыз:

      kubectl patch deployment velero -n velero --patch-file velero-patch.yaml

      Velero deployment-ы патчталып, қайта іске қосылады.

  13. Команданы орындап, әдепкі snapshot орналасуын жасаңыз:

    velero snapshot-location create default --provider openstack --config region=ru-msk

Жұмысқа қабілеттілігін тексеру

  1. Бапталған плагиндерді тексеру үшін команданы орындаңыз:

    velero plugin get

    Команда шығысында келесі плагиндер болуы керек:

    NAME                                        KIND...                                         ...velero.io/aws                               VolumeSnapshottervelero.io/openstack                         VolumeSnapshotter
  2. Бапталған резервтік көшірме орналасуларын тексеру үшін команданы орындаңыз:

    velero backup-location get

    Ұқсас ақпарат шығуы керек:

    NAME      PROVIDER   BUCKET/PREFIX   PHASE       LAST VALIDATED                  ACCESS MODE   DEFAULTdefault   aws        ...             Available   ...                             ReadWrite     true
  3. Бапталған snapshot орналасуларын тексеру үшін команданы орындаңыз:

    velero snapshot-location get

    Ұқсас ақпарат шығуы керек:

    NAME      PROVIDERdefault   openstack

Жою

Команданы орындаңыз:

velero uninstall