4.2. OADP 기능 및 플러그인
OADP(데이터 보호) 기능을 위한 OpenShift API는 애플리케이션을 백업 및 복원하는 옵션을 제공합니다.
기본 플러그인을 사용하면 Velero가 특정 클라우드 공급자와 통합하고 OpenShift Container Platform 리소스를 백업 및 복원할 수 있습니다.
4.2.1. OADP 기능
OADP(데이터 보호)용 OpenShift API는 다음과 같은 기능을 지원합니다.
- Backup
클러스터의 모든 리소스를 백업하거나 유형, 네임스페이스 또는 레이블로 리소스를 필터링할 수 있습니다.
OADP는 오브젝트 스토리지에 아카이브 파일로 저장하여 Kubernetes 오브젝트 및 내부 이미지를 백업합니다. OADP는 기본 클라우드 스냅샷 API 또는 CSI(Container Storage Interface)를 사용하여 스냅샷을 생성하여 PV(영구 볼륨)를 백업합니다. 스냅샷을 지원하지 않는 클라우드 공급자의 경우 OADP는 Restic을 사용하여 리소스 및 PV 데이터를 백업합니다.
- Restore
- 백업에서 리소스와 PV를 복원할 수 있습니다. 백업의 모든 오브젝트를 복원하거나 네임스페이스, PV 또는 레이블별로 복원된 오브젝트를 필터링할 수 있습니다.
- 일정
- 지정된 간격으로 백업을 예약할 수 있습니다.
- 후크
-
후크를 사용하여 Pod의 컨테이너에서 명령을 실행할 수 있습니다(예:
fsfreeze
) 파일 시스템을 정지할 수 있습니다. 백업 또는 복원 전이나 후에 실행할 후크를 구성할 수 있습니다. 복원 후크는 init 컨테이너 또는 애플리케이션 컨테이너에서 실행될 수 있습니다.
4.2.2. OADP 플러그인
OADP(OpenShift API for Data Protection)는 백업 및 스냅샷 작업을 지원하기 위해 스토리지 공급자와 통합된 기본 Velero 플러그인을 제공합니다. Velero 플러그인을 기반으로 사용자 정의 플러그인을 생성할 수 있습니다.
OADP는 OpenShift Container Platform 리소스 백업 및 CSI(Container Storage Interface) 스냅샷에 대한 플러그인도 제공합니다.
OADP 플러그인 | 함수 | 스토리지 위치 |
---|---|---|
| 오브젝트 저장소를 사용하여 Kubernetes 오브젝트를 백업 및 복원합니다. | AWS S3 |
스냅샷을 사용하여 볼륨을 백업하고 복원합니다. | AWS EBS | |
| 오브젝트 저장소를 사용하여 Kubernetes 오브젝트를 백업 및 복원합니다. | Microsoft Azure Blob 스토리지 |
스냅샷을 사용하여 볼륨을 백업하고 복원합니다. | Microsoft Azure 관리 디스크 | |
| 오브젝트 저장소를 사용하여 Kubernetes 오브젝트를 백업 및 복원합니다. | Google Cloud Storage |
스냅샷을 사용하여 볼륨을 백업하고 복원합니다. | Google Compute Engine 디스크 | |
| 오브젝트 저장소를 사용하여 OpenShift Container Platform 리소스를 백업 및 복원합니다. [1] | 오브젝트 저장소 |
| CSI 스냅샷을 사용하여 볼륨을 백업 및 복원합니다. [2] | CSI 스냅샷을 지원하는 클라우드 스토리지 |
- 필수 항목입니다.
-
csi
플러그인은 Velero CSI 베타 스냅샷 API 를 사용합니다.
4.2.3. OADP Velero 플러그인 정보
Velero를 설치할 때 다음 두 가지 유형의 플러그인을 구성할 수 있습니다.
- 기본 클라우드 공급자 플러그인
- 사용자 정의 플러그인
두 가지 유형의 플러그인은 모두 선택 사항이지만 대부분의 사용자는 하나 이상의 클라우드 공급자 플러그인을 구성합니다.
4.2.3.1. 기본 Velero 클라우드 공급자 플러그인
배포 중에 oadp_v1alpha1_dpa.yaml
파일을 구성할 때 다음과 같은 기본 Velero 클라우드 공급자 플러그인을 설치할 수 있습니다.
-
AWS
(Amazon Web Services) -
GCP
(Google Cloud Platform) -
azure
(Microsoft Azure) -
OpenShift
(OpenShift Velero 플러그인) -
CSI
(컨테이너 스토리지 인터페이스) -
Kube
Virt(KubeVirt)
배포 중에 oadp_v1alpha1_dpa.yaml
파일에 원하는 기본 플러그인을 지정합니다.
예제 파일
다음 .yaml
파일은 openshift
,aws
,azure
, gcp
플러그인을 설치합니다.
apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: dpa-sample spec: configuration: velero: defaultPlugins: - openshift - aws - azure - gcp
4.2.3.2. 사용자 정의 Velero 플러그인
배포 중에 oadp_v1alpha1_dpa.yaml
파일을 구성할 때 플러그인 이미지
및 이름을
지정하여 사용자 정의 Velero 플러그인을 설치할 수 있습니다.
배포 중에 oadp_v1alpha1_dpa.yaml
파일에 원하는 사용자 지정 플러그인을 지정합니다.
예제 파일
다음 .yaml
파일은 기본 openshift
,azure
, gcp
플러그인 및 이름이 custom-plugin-example
이고 quay.io/example-repo/custom-velero-plugin
이미지가 있는 사용자 정의 플러그인을 설치합니다.
apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: dpa-sample spec: configuration: velero: defaultPlugins: - openshift - azure - gcp customPlugins: - name: custom-plugin-example image: quay.io/example-repo/custom-velero-plugin