OADP(OpenShift API for Data Protection) Operator 설치
이 섹션에서는 OADP(OpenShift API for Data Protection) Operator의 설치에 대해 간략하게 설명합니다.
필수 구성 요소
-
RHCOS 작업자 노드가 있는 베어 메탈 인프라에 설치된 Red Hat OpenShift 클러스터(버전 4.12 이상
-
Trident를 사용하여 클러스터에 통합된 NetApp ONTAP 클러스터
-
ONTAP 클러스터에서 SVM으로 구성된 Trident 백엔드
-
Trident를 Provisioner로 사용하여 OpenShift 클러스터에 구성된 StorageClass
-
클러스터에 생성된 Trident 스냅샷 클래스입니다
-
Red Hat OpenShift 클러스터에 대한 클러스터 관리자 액세스
-
NetApp ONTAP 클러스터에 대한 관리 액세스
-
OpenShift Virtualization 운영자가 설치 및 구성되었습니다
-
OpenShift Virtualization에서 네임스페이스로 배포된 VM
-
tridentctl 및 OC 도구가 설치되고 $PATH에 추가된 관리 워크스테이션
VM이 실행 중인 상태일 때 VM을 백업하려면 해당 가상 머신에 QEMU 게스트 에이전트를 설치해야 합니다. 기존 템플릿을 사용하여 VM을 설치하는 경우 QEMU 에이전트가 자동으로 설치됩니다. QEMU를 사용하면 게스트 에이전트가 스냅샷 프로세스 중에 게스트 OS의 전송 중인 데이터를 정지하고 데이터 손상을 방지할 수 있습니다. QEMU가 설치되어 있지 않은 경우 백업을 수행하기 전에 가상 컴퓨터를 중지할 수 있습니다. |
OADP Operator를 설치하는 단계입니다
-
클러스터의 운영자 허브로 이동하여 Red Hat OADP 연산자를 선택합니다. 설치 페이지에서 모든 기본 선택 항목을 사용하고 설치를 클릭합니다. 다음 페이지에서 모든 기본값을 사용하고 Install(설치) 을 클릭합니다. OADP 운영자는 OpenShift-ADP 네임스페이스에 설치됩니다.
ONTAP S3 세부 정보를 포함한 Velero 구성을 위한 사전 요구 사항
조작자가 성공적으로 설치되면 Velero 인스턴스를 구성합니다.
S3 호환 객체 스토리지를 사용하도록 Velero를 구성할 수 있습니다. 에 표시된 절차를 사용하여 ONTAP S3를 구성합니다 "ONTAP 설명서의 "개체 스토리지 관리" 섹션을 참조하십시오". Velero와 통합하려면 ONTAP S3 구성에서 다음 정보가 필요합니다.
-
S3에 액세스하는 데 사용할 수 있는 논리 인터페이스(LIF)
-
액세스 키 및 비밀 액세스 키가 포함된 S3에 액세스하기 위한 사용자 자격 증명입니다
-
사용자에 대한 액세스 권한이 있는 백업을 위한 S3의 버킷 이름입니다
-
개체 저장소에 대한 보안 액세스를 위해 TLS 인증서를 개체 저장소 서버에 설치해야 합니다.
StorageGRID S3 세부 정보를 포함한 Velero 구성을 위한 사전 요구 사항
S3 호환 객체 스토리지를 사용하도록 Velero를 구성할 수 있습니다. 에 나와 있는 절차를 사용하여 StorageGRID S3를 구성할 수 있습니다 "StorageGRID 설명서". Velero와 통합하려면 StorageGRID S3 구성에서 다음 정보가 필요합니다.
-
S3에 액세스하는 데 사용할 수 있는 끝점입니다
-
액세스 키 및 비밀 액세스 키가 포함된 S3에 액세스하기 위한 사용자 자격 증명입니다
-
사용자에 대한 액세스 권한이 있는 백업을 위한 S3의 버킷 이름입니다
-
개체 저장소에 대한 보안 액세스를 위해 TLS 인증서를 개체 저장소 서버에 설치해야 합니다.
Velero 구성 단계
-
먼저 ONTAP S3 사용자 자격 증명 또는 StorageGRID 테넌트 사용자 자격 증명에 대한 암호를 생성합니다. 나중에 Velero를 구성하는 데 사용됩니다. CLI 또는 웹 콘솔에서 암호를 생성할 수 있습니다.
웹 콘솔에서 암호를 생성하려면 비밀 을 선택한 다음 키/값 비밀 을 클릭합니다. 그림과 같이 자격 증명 이름, 키 및 값을 입력합니다. S3 사용자의 액세스 키 ID와 비밀 액세스 키를 사용해야 합니다. 암호의 이름을 적절하게 지정합니다. 아래 샘플에서 ontap-s3-credentials라는 ONTAP S3 사용자 자격 증명으로 구성된 암호가 생성됩니다.
CLI에서 sg-s3-credentials라는 암호를 생성하려면 다음 명령을 사용할 수 있습니다.
-
그런 다음 Velero를 구성하려면 Operators(오퍼레이터) 아래의 메뉴 항목에서 Installed Operators(설치된 운영자) 를 선택하고 OADP operator(OADP 운영자) 를 클릭한 다음 DataProtectionApplication(DataProtectionApplication) 탭을 선택합니다.
Create DataProtectionApplication을 클릭합니다. 폼 보기에서 DataProtection 응용 프로그램의 이름을 제공하거나 기본 이름을 사용합니다.
이제 YAML 보기로 이동하여 아래의 YAML 파일 예제에 표시된 사양 정보를 대체합니다.
-
ONTAP S3을 BackupLocation으로 사용하여 Velero를 구성하기 위한 샘플 YAML 파일**
spec: backupLocations: - velero: config: insecureSkipTLSVerify: 'false' ->use this for https communication with ONTAP S3 profile: default region: us-east-1 s3ForcePathStyle: 'True' ->This allows use of IP in s3URL s3Url: 'https://10.xx.xx.xx' ->LIF to access S3. Ensure TLS certificate for S3 is configured credential: key: cloud name: ontap-s3-credentials ->previously created secret default: true objectStorage: bucket: velero ->Your bucket name previously created in S3 for backups prefix: demobackup ->The folder that will be created in the bucket provider: aws configuration: nodeAgent: enable: true uploaderType: kopia #default Data Mover uses Kopia to move snapshots to Object Storage velero: defaultPlugins: - csi ->Add this plugin - openshift - aws - kubevirt ->Add this plugin
-
StorageGRID S3을 BackupLocation 및 snapshotLocation으로 Velero를 구성하기 위한 샘플 YAML 파일**
spec: backupLocations: - velero: config: insecureSkipTLSVerify: 'true' profile: default region: us-east-1 ->region of your StorageGrid system s3ForcePathStyle: 'True' s3Url: 'https://172.21.254.25:10443' ->the IP used to access S3 credential: key: cloud name: sg-s3-credentials ->secret created earlier default: true objectStorage: bucket: velero prefix: demobackup provider: aws configuration: nodeAgent: enable: true uploaderType: kopia velero: defaultPlugins: - csi - openshift - aws - kubevirt
YAML 파일의 SPEC 섹션은 위의 예와 유사한 다음 매개 변수에 맞게 구성해야 합니다
backupLocations
ONTAP S3 또는 StorageGRID S3(YAML에 표시된 자격 증명 및 기타 정보 포함)는 velero의 기본 BackupLocation으로 구성됩니다.
snapshotLocations CSI(Container Storage Interface) 스냅샷을 사용하는 경우, CSI 드라이버를 등록하기 위해 VolumeSnapshotClass CR을 생성하므로 스냅샷 위치를 지정할 필요가 없습니다. 이 예에서는 Trident CSI를 사용하며 이전에 Trident CSI 드라이버를 사용하여 VolumeSnapShotClass CR을 생성한 적이 있습니다.
-
CSI 플러그인 활성화
CSI 스냅샷을 사용하여 영구 볼륨을 백업하려면 Velero용 기본 플러그인에 CSI를 추가합니다.
CSI 백업 PVC를 백업하기 위한 Velero CSI 플러그인은 velero.io/csi-volumesnapshot-class** 라벨이 설정된 클러스터에서 VolumeSnapshotClass를 선택합니다. 이를 위해-
트라이덴트 VolumeSnapshotClass를 생성해야 합니다.
-
trident-snapshotclass의 라벨을 편집하여 로 설정합니다
velero.io/csi-volumesnapshot-class=true 아래 표시된 대로.
-
VolumeSnapshot 개체가 삭제된 경우에도 스냅샷이 유지될 수 있는지 확인하십시오. 이 작업은 * deletionPolicy * 를 보존하도록 설정하여 수행할 수 있습니다. 그렇지 않은 경우 네임스페이스를 삭제하면 해당 네임스페이스에 백업된 모든 PVC가 완전히 손실됩니다.
apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: name: trident-snapshotclass driver: csi.trident.netapp.io deletionPolicy: Retain
DataProtectionApplication 이 만들어지고 상태가 Reconciled 인지 확인합니다.
OADP 운영자가 해당 BackupStorageLocation을 생성합니다. 이 값은 백업을 생성할 때 사용됩니다.