Velero орнату
Velero — Kubernetes кластері ресурстарының резервтік көшірмесін жасауға және оларды қалпына келтіруге арналған клиент-серверлік утилита.
-
Мыналарға көз жеткізіңіз:
- не worker-түйіндер топтарында кемінде 2 бос vCPU бар;
- не автоматты масштабтау қосылған.
-
Көз жеткізіңіз, кластерге
kubectlкөмегімен қосыла алатыныңызға. -
Егер әлі орнатылмаған болса, OpenStack CLI орнатыңыз. Оның көмегімен бұлтта авторизациялана алатыныңызға көз жеткізіңіз.
-
VK Object Storage сервисінде резервтік көшірмелерді сақтау үшін hotbox-бакет жасаңыз.
-
VK Object Storage сервисінде аккаунт жасаңыз.
Шығарылған кілт идентификаторы мен құпияны
s3_credsфайлына сақтаңыз:[default]aws_access_key_id=<ИДЕНТИФИКАТОР_КЛЮЧА_ACCESS_KEY_ID>aws_secret_access_key=<СЕКРЕТНЫЙ_КЛЮЧ_SECRET_KEY> -
Velero орнатылатын Kubernetes кластері нұсқасымен үйлесімді Velero нұсқасын анықтаңыз.
-
Velero клиентінің қажетті нұсқасын жүктеп алыңыз.
-
Қолданылып жатқан Velero нұсқасына сәйкес келетін AWS плагинінің нұсқасын анықтаңыз.
-
Клиентке дейінгі жолды орта айнымалысына қосыңыз:
- Windows үшін
Path. - Linux/macOS үшін
PATH.
- Windows үшін
-
Velero серверлік бөлігін Kubernetes кластеріне орнатыңыз. Командада Velero үшін жасалған бакет атын және аккаунт деректері бар
s3_credsфайлына дейінгі жолды көрсетіңіз:Linux/macOSWindowsvelero 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. -
Velero серверлік бөлігі VK Cloud бұлтында авторизациялана алуы үшін Kubernetes құпиясын жасаңыз:
Linux/macOSWindowskubectl -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-credentialsnamespace: veleroresourceVersion: ...selfLink: ...uid: ...type: Opaque -
Кластердегі Velero deployment-ын патчтаңыз. Бұл үшін қажет:
- Velero-ның AWS және VK Cloud плагиндері тұтынатын ресурстарды шектеу;
- VK Cloud бұлтында авторизациялануға арналған айнымалылары бар құпияны көрсету.
-
Патч файлын жасаңыз:
-
Патчты Velero deployment-ына қолданыңыз:
kubectl patch deployment velero -n velero --patch-file velero-patch.yamlVelero deployment-ы патчталып, қайта іске қосылады.
-
Команданы орындап, әдепкі snapshot орналасуын жасаңыз:
velero snapshot-location create default --provider openstack --config region=ru-msk
-
Бапталған плагиндерді тексеру үшін команданы орындаңыз:
velero plugin getКоманда шығысында келесі плагиндер болуы керек:
NAME KIND... ...velero.io/aws VolumeSnapshottervelero.io/openstack VolumeSnapshotter -
Бапталған резервтік көшірме орналасуларын тексеру үшін команданы орындаңыз:
velero backup-location getҰқсас ақпарат шығуы керек:
NAME PROVIDER BUCKET/PREFIX PHASE LAST VALIDATED ACCESS MODE DEFAULTdefault aws ... Available ... ReadWrite true -
Бапталған snapshot орналасуларын тексеру үшін команданы орындаңыз:
velero snapshot-location getҰқсас ақпарат шығуы керек:
NAME PROVIDERdefault openstack
Команданы орындаңыз:
velero uninstall