감독자에 vSphere용 Velero 플러그인를 설치하면 vSphere용 Velero 플러그인를 사용하여 vSphere 포드에서 실행되는 워크로드를 백업하고 복원할 수 있습니다.
개요
vSphere용 Velero 플러그인는 vSphere with Tanzu 워크로드를 백업하고 복원하기 위한 솔루션을 제공합니다. 이 솔루션을 사용하려면 여러 구성 요소를 설치하고 구성해야 합니다. vSphere용 Velero 플러그인가 감독자에 설치 및 구성되면 vSphere 포드를 백업 및 복원할 수 있습니다. 영구 워크로드의 경우 vSphere용 Velero 플러그인를 사용하여 영구 볼륨의 스냅샷을 생성할 수 있습니다.
사전 요구 사항
- 감독자는 버전 1.21.1 이상입니다.
- vSphere 네임스페이스가 생성 및 구성됩니다.
- vSphere 관리자 역할의 멤버이거나 다음과 같은 vSphere 권한이 있어야 합니다.
- SupervisorServices.Manage
- Namespaces.Manage
- Namespaces.Configure
- NSX 네트워킹은 vSphere 포드 배포를 지원하는 데 사용됩니다.
- Data Manager VM이 배포됩니다.
- Velero Operator가 사용되도록 설정되고
velero-vsphere-domain-cXX
네임스페이스에서 실행되고 있습니다. velero
라는 네임스페이스가 구성되었습니다.- vSphere용 Velero 플러그인가
velero
네임스페이스에서 vSphere 포드로 실행되고 있습니다.
업그레이드
이 지침에서는 vSphere 8을 실행하고 있다고 가정합니다. 이전에 vSphere 7 U3 환경에 vSphere용 Velero 플러그인를 설치한 경우에는 업그레이드 시 Data Manager VM 및 Velero vSphere Operator가 새 프레임워크로 마이그레이션됩니다. Velero vSphere Operator가 새 vSphere 서비스 형식으로 변환됩니다. 어떠한 작업도 필요하지 않습니다.
백업 및 복원 트래픽을 위한 전용 네트워크 생성(선택 사항)
- NFC(Network File Copy)를 지원하도록 ESXi 호스트에 태그 지정
- NSX-T Data Center를 사용하여 백업 및 복원 네트워크 구성
전용 NBD(Network Block Device) 전송을 지원하도록 vSphere 8 ESXi 호스트를 구성하려면, 워크로드 관리를 사용하도록 설정한 vSphere 클러스터의 각 ESXi 호스트에 VMkernel NIC를 추가하고 이 NIC에 vSphereBackupNFC
를 설정합니다. vSphereBackupNFC
태그가 VMkernel 어댑터의 NIC 유형에 적용되면 백업 및 복원 트래픽은 선택한 가상 NIC를 통과합니다.
vSphereBackupNFC
를 사용하도록 설정하지 않으면 백업 및 복원 트래픽은 백업 및 복원 네트워크를 구성하더라도 이 네트워크를 통해 전송되지 않습니다.
vSphereBackupNFC
를 사용하도록 설정하지 않으면 트래픽은 vSphere 관리 네트워크를 통해 이동합니다.
vSphereBackupNFC
태그를 사용하도록 설정되면 클러스터에 대한 기존 vDS(vSphere Distributed Switch)를 다음과 같이 업데이트하여 NSX-T를 사용하는 백업 및 복원 네트워크를 구성합니다.
- vSphere Client에서 을 선택합니다.
- 클러스터에 대한 기존 vDS를 선택합니다.
- vDS를 마우스 오른쪽 버튼으로 클릭하고 을 선택합니다.
- BackupRestoreNetwork라는 새 분산 포트 그룹을 생성합니다.
- VMkernel 어댑터를 BackupRestoreNetwork 분산 포트 그룹에 추가합니다.
- 워크로드 관리를 사용하도록 설정된 vCenter 클러스터의 모든 ESXi 호스트를 BackupRestoreNetwork 분산 포트 그룹에 연결합니다.
vSphereBackupNFC
태그를 사용하도록 설정합니다.
기존 vDS에서 NSX 네트워크를 생성하는 방법에 대한 지침은 NSX for vSphere with Tanzu 설치 및 구성을 참조하십시오.
S3 호환 개체 저장소 생성
영구 볼륨의 백업 및 복원을 위해서는 S3 호환 개체 저장소를 제공해야 합니다. Velero는 여러 개체 저장소 제공자를 지원합니다.
vSphere용 Velero 플러그인를 설치하려면 S3 호환 개체 저장소에 대한 다음 정보를 제공해야 합니다.
데이터 항목 | 예제 값 |
---|---|
s3Url | http://my-s3-store.example.com |
aws_access_key_id | ACCESS-KEY-ID-STRING |
aws_secret_access_key | SECRET-ACCESS-KEY-STRING |
s3-credentials
를 생성합니다. 이 파일은
vSphere용 Velero 플러그인를 설치할 때 참조합니다.
[default] aws_access_key_id = ACCESS-KEY-ID-STRING aws_secret_access_key = SECRET-ACCESS-KEY-STRING
MinIO는 설치하고 사용하기 쉬운 S3 호환 개체 저장소입니다. vSphere with Tanzu에는 사용하도록 설정할 수 있는 MinIO 감독자 서비스가 함께 제공됩니다. 자세한 내용은 vSphere with Taznu에서 상태 저장 서비스 사용을 참조하십시오.
또는 Linux VM에 MinIO 서버를 수동으로 설치할 수 있습니다. 지침은 감독자의 TKG 2 클러스터에 독립형 Velero 및 Restic 설치 및 구성을 참조하십시오.
Data Manager 설치 및 구성
vSphere용 Velero 플러그인를 사용하여 백업 및 복원을 용이하게 하려면 하나 이상의 Data Manager VM을 배포하여 영구 볼륨 백업 데이터를 S3 호환 객체 스토리지 내부 및 외부로 이동합니다. Data Manager는 백업 시에는 vSphere 볼륨에서 원격 지속형 S3 호환 스토리지로, 복원 중에는 원격 S3 호환 스토리지에서 vSphere 볼륨으로 볼륨 스냅샷 데이터를 이동합니다.
- Data Manager OVA를 다운로드합니다.
- vSphere Client를 사용하여 워크로드 관리를 사용하도록 설정된 데이터 센터를 마우스 오른쪽 버튼으로 클릭하고 OVF 템플릿 배포를 선택합니다.
- 다운로드한 Data Manager OVA 파일을 선택하여 vCenter Server에 업로드합니다.
- 가상 시스템의 이름을 지정합니다(예: DataManager).
- 계산 리소스를 선택합니다. 이것은 감독자가 구성된 vSphere 클러스터입니다.
- VM 배포 세부 정보를 검토하고 다음을 클릭합니다.
- 라이센스 계약에 동의하고 다음을 클릭합니다.
- 스토리지를 선택하고 다음을 클릭합니다.
- Data Manager VM에 대한 대상 네트워크를 선택합니다.
- 전용 백업 및 복원 네트워크를 구성한 경우 BackupRestoreNetwork를 선택합니다. 백업 및 복원 트래픽을 위한 전용 네트워크 생성(선택 사항)의 내용을 참조하십시오.
- 전용 백업 및 복원 네트워크를 구성하지 않은 경우 관리 네트워크를 선택합니다.
- 선택 항목을 검토하고 마침을 클릭하여 프로세스를 완료합니다.
- 최근 작업 패널을 사용하여 배포 진행률을 모니터링합니다.
참고: "OVF 설명자를 사용할 수 없습니다."라는 오류가 표시되면 Chrome 브라우저를 사용하십시오.
- Data Manager VM이 배포되면 VM에 대한 입력 매개 변수를 구성합니다.
- VM을 마우스 오른쪽 버튼으로 클릭하고 을 선택합니다.
- [가상 하드웨어] 탭에서 CD/DVD 드라이브의 경우 호스트 디바이스를 클라이언트 디바이스로 변경합니다.
참고: 이렇게 하지 않으면 필요한 고급 구성 설정을 저장할 수 없습니다.
- 탭에서 을 선택합니다.
- 다음 설정 각각에 대한 입력 매개 변수를 구성합니다.
매개 변수 값 guestinfo.cnsdp.vcUser
VM을 배포할 수 있는 충분한 권한이 있는 vCenter Server 사용자 이름을 입력합니다. guestinfo.cnsdp.vcAddress
vCenter Server IP 주소 또는 FQDN을 입력합니다. guestinfo.cnsdp.vcPasswd
vCenter Server 사용자 암호를 입력합니다. guestinfo.cnsdp.vcPort
기본값은 443입니다. 이 값을 변경하지 마십시오. guestinfo.cnsdp.wcpControlPlaneIP
감독자 IP 주소를 입력합니다. 이 값은 워크로드 관리를 사용하도록 설정된 vCenter 클러스터로 이동하고
를 선택하여 가져옵니다.guestinfo.cnsdp.updateKubectl
기본값은 false입니다. 이 값을 변경하지 마십시오. guestinfo.cnsdp.veleroNamespace
기본값은 velero이며 변경해야 할 이유가 없는 한 그대로 두어야 합니다. 나중에 이 프로세스에서 이름이 velero
인 감독자 클러스터에 vSphere 네임스페이스를 생성합니다. 이 이름은 일치해야 합니다.guestinfo.cnsdp.datamgrImage
구성되지 않은 경우(설정되지 않은 경우) 시스템은 기본적으로 Docker Hub( vsphereveleroplugin/data-manager-for-plugin:1.1.0
)에서 컨테이너 이미지를 가져옵니다. - 확인을 클릭하여 구성을 저장하고 확인을 다시 클릭하여 VM 설정을 저장합니다.
참고: CD/DVD 드라이브를 호스트 디바이스에서 클라이언트 디바이스로 변경하지 않았으면 설정을 저장할 수 없습니다. 이 경우 작업을 취소하고 드라이브를 변경한 후 고급 구성 설정을 반복합니다.
- Velero vSphere Operator(다음 섹션)를 사용하도록 설정할 때까지 Data Manager VM의 전원을 켜지 마십시오.
감독자에 Velero vSphere Operator 서비스 설치
vSphere with Tanzu는 Velero vSphere Operator를 감독자 서비스로 제공합니다. Velero vSphere Operator 서비스는 vSphere용 Velero 플러그인와 함께 작동하여 영구 볼륨 스냅샷 생성을 포함한 Kubernetes 워크로드의 백업 및 복원을 지원합니다. 감독자 서비스에 대한 자세한 내용은 vSphere with Tanzu로 감독자 서비스 관리를 참조하십시오.
- 다음 위치에서 Velero vSphere Operator용 YAML을 다운로드합니다.
http://vmware.com/go/supervisor-service
서비스 규격 파일의 이름은 velero-supervisorservice-1.0.0.yaml입니다.
- vSphere Client 홈 메뉴에서 워크로드 관리를 선택합니다.
- 서비스 탭을 선택합니다.
- 맨 위에 있는 드롭다운 메뉴에서 대상 vCenter Server 인스턴스를 선택합니다.
- 다운로드한 서비스 규격 파일
velero-supervisorservice-1.0.0.yaml
을 새 서비스 추가 카드에 끌어서 놓습니다.또는 추가를 클릭하고 velero-supervisorservice-1.0.0.yaml 파일을 찾아 선택할 수 있습니다.
- 다음을 클릭하고 라이센스 계약에 동의합니다.
- 마침을 클릭합니다.
Velero vSphere Operator가 vCenter Server에 등록되었습니다. 서비스가 활성 상태인지 확인합니다. 비활성화됨 상태이면 서비스를 설치할 수 없습니다.
- 서비스 탭에서 Velero vSphere Operator 규격을 찾습니다.
- 를 클릭합니다.
- 서비스를 설치할 대상 감독자를 선택합니다.
참고: 감독자가 표시되지 않으면 NSX 네트워킹을 사용하고 있는지 확인합니다.
- Velero vSphere Operator 서비스 설치를 다음과 같이 구성합니다.
- 드롭다운에서 1.1.0 버전을 선택합니다.
- 저장소 끝점을 지정하지 마십시오.
- 사용자 이름이나 암호를 입력하지 마십시오.
- 다음을 클릭합니다.
- 마침을 클릭하여 서비스 설치를 완료합니다.
감독자에서 Velero vSphere Operator 서비스를 확인하고 Data Manager VM을 시작합니다.
- vSphere Client 홈 메뉴에서 워크로드 관리를 선택합니다.
- 감독자 탭을 클릭하고 Velero vSphere Operator를 설치한 감독자를 선택합니다.
- 구성 탭을 클릭하고 감독자 서비스에서 개요를 클릭합니다.
- Velero vSphere Operator가 설치되어 있고 해당 상태가 구성됨인지 확인합니다.
- 네임스페이스 탭에
svc-velero-vsphere-domain-xxx
(xxx
는 고유한 영숫자 토큰임)라는 새 네임스페이스가 보이는지 확인합니다. 이것은 시스템에서 Velero vSphere Operator용으로 생성된 네임스페이스입니다.참고: 이 네임스페이스는 구성할 필요가 없으며 편집해서는 안 됩니다. - 호스트 및 클러스터 보기에서 Data Manager VM을 선택합니다.
- Data Manager VM을 마우스 오른쪽 버튼으로 클릭하고 전원을 켭니다.
vSphere용 Velero 플러그인용 vSphere 네임스페이스 생성
- 네임스페이스의 이름을 velero라고 지정합니다.
- velero 네임스페이스를 선택하여 구성합니다.
- velero 네임스페이스에 대한 스토리지를 지정합니다.
- 적절한 권한이 있는 사용자에게 velero 네임스페이스에 대한 편집 권한을 부여합니다.
vSphere용 Velero 플러그인 설치
kubectl-vsphere
및
kubectl
CLI를 실행하는 Linux 점프 호스트에
velero-vsphere를 다운로드하고 실행해야 합니다.
- CLI를 실행할 수 있는 Linux VM을 생성합니다. 또는 감독자에 액세스하는 기존 Linux 점프 호스트를 사용합니다.
- 다음 위치에서 vSphere용 Velero 플러그인 CLI를 다운로드합니다.
- CLI를 Linux 점프 호스트에 안전하게 복사합니다. 예:
pscp -P 22 C:\temp\velero-vsphere-1.1.0-linux-amd64.tar.gz [email protected]:/home/ubuntu/tanzu
velero-vsphere
CLI를 추출하고 쓰기 가능으로 만듭니다.tar -xf velero-vsphere-1.1.0-linux-amd64.tar.gz chmod +x velero-vsphere
- 다음 내용으로
s3-credentials
파일을 생성합니다.aws_access_key_id = ACCESS-KEY-ID-STRING aws_secret_access_key = SECRET-ACCESS-KEY-STRING
- S3 호환 개체 저장소의 영역, URL 및 버킷 이름을 가져옵니다.
- kubectl용 vSphere 플러그인를 사용하여 감독자에 로그인합니다.
- 컨텍스트를 감독자로 전환합니다.
kubectl config use-context SUPERVISOR-CLUSTER-IP-ADDRESS
- 생성한 velero 네임스페이스에서 vSphere용 Velero 플러그인가 설치될 클러스터의 버전으로 SUPERVISOR를 지정하는 구성 맵 파일을 설치합니다.
% cat <<EOF | kubectl -n velero apply -f - apiVersion: v1 kind: ConfigMap metadata: name: velero-vsphere-plugin-config data: cluster_flavor: SUPERVISOR EOF
- 다음
velero-vsphere
CLI 명령을 실행하여 velero 네임스페이스에 vSphere용 Velero 플러그인를 설치합니다.BUCKET-NAME, REGION(두 개의 인스턴스) 및 s3Url 필드에 대한 자리 표시자 값을 적절한 값으로 바꿉니다. 앞의 지침에서 벗어난 값(암호 파일의 이름 또는 위치, 수동으로 생성된
velero
네임스페이스의 이름 등)이 있으면 해당 값도 조정합니다../velero-vsphere install \ --namespace velero \ --image velero/velero:v1.5.1 \ --provider aws \ --plugins velero/velero-plugin-for-aws:v1.1.0,vsphereveleroplugin/velero-plugin-for-vsphere:1.1.0 \ --bucket BUCKET-NAME \ --secret-file s3-credentials \ --snapshot-location-config region=REGION \ --backup-location-config region=REGION,s3ForcePathStyle="true",s3Url=http://my-s3-store.example.com
참고: 감독자에서 vSphere용 Velero 플러그인 v1.1.0 이상(예:vsphereveleroplugin/velero-plugin-for-vsphere:v1.1.1
또는vsphereveleroplugin/velero-plugin-for-vsphere:v1.2.0
)을 사용할 수 있습니다. Velero 버전은 v1.5.1(velero/velero:v1.5.1
)이어야 합니다. - vSphere용 Velero 플러그인가 성공적으로 설치되었는지 확인합니다.
설치에 성공하면 다음 메시지가 표시됩니다.
Send the request to the operator about installing Velero in namespace velero
다음 명령을 실행하여 추가로 확인합니다. "Completed" 및 버전이 표시되어야 합니다.kubectl -n velero get veleroservice default -o json | jq '.status'
예상 결과:{ "enabled": true, "installphase": "Completed", "version": "v1.5.1" }
참고: 위의 명령은 터미널로 전송되는 JSON 출력의 형식을 지정하는jq
유틸리티가 설치되어 있다고 가정합니다.jq
가 설치되어 있지 않으면 설치하거나 명령에서 해당 부분(json
이후의 모든 항목)을 제거합니다. - 필요에 따라 문제를 해결합니다.
설치가 실패하면 설치를 제거하고 다시 시도합니다. 설치를 제거하려면 다음 섹션의 단계를 나열된 순서대로 완료합니다.
에어갭 환경에 Velero 플러그인 설치
에어갭 환경에 vSphere용 Velero 플러그인를 설치하려는 경우에는 사용자 지정된 이미지로 설치해야 합니다. 사용자 지정된 이미지의 일치하는 backup-driver
및 data-manager-for-plugin
이미지를 필요한 레지스트리에서 사용할 수 있고 Kubernetes 클러스터에서 액세스할 수 있는지 확인해야 합니다. 에어갭 환경에서는 Docker Hub의 릴리스된 이미지에 액세스할 수 없으므로 개인 레지스트리의 사용자 지정된 이미지가 필요합니다.
velero-plugin-for-vsphere
,backup-driver
및data-manager-for-plugin
의 릴리스된 이미지를 다운로드합니다.- 이미지의 이름을 변경합니다. 즉, 일치하는
<Registry endpoint and path>
및<Version tag>
로 이미지에 태그를 지정하고 사용자 지정된 저장소에 업로드합니다. - 사용자 지정한
velero-plugin-for-vsphere
이미지를 사용하여 플러그인을 설치합니다.vanilla 클러스터에 vSphere용 Velero 플러그인를 설치하면 두 개의 추가 구성 요소인
backup-driver
배포와data-manager-for-plugin
DaemonSet가 백그라운드에 배포됩니다. 감독자 및 Tanzu Kubernetes 클러스터에서는backup-driver
배포만 배포됩니다.velero-plugin-for-vsphere
의 컨테이너 이미지를 제공하면 일치하는backup-driver
및data-manager-for-plugin
이미지는 이미지 구문 분석 메커니즘을 사용하여 구문 분석됩니다.컨테이너 이미지는 다음 패턴으로 공식화됩니다.<Registry endpoint and path>/<Container name>:<Version tag>
velero-plugin-for-vsphere
컨테이너 이미지를 제공하면 일치하는<Registry endpoint and path>
및<Version tag>
와 함께backup-driver
및data-manager-for-plugin
의 해당 이미지가 구문 분석됩니다.예를 들어 다음velero-plugin-for-vsphere
컨테이너 이미지를 고려합니다.abc.io:8989/x/y/.../z/velero-plugin-for-vsphere:vX.Y.Z
backup-driver
및data-manager-for-plugin
의 일치하는 다음 이미지를 끌어와야 합니다.abc.io:8989/x/y/.../z/backup-driver:vX.Y.Z abc.io:8989/x/y/.../z/data-manager-for-plugin:vX.Y.Z
- 설치 문제를 해결합니다.
backup-driver
및data-manager-for-plugin
의 일치하는 이미지를 구문 분석하는 데 문제가 있거나 오류가 있는 경우 설치는 Docker Hub에 있는 공식velerovsphereplugin
저장소의 해당 이미지로 폴백됩니다. 다음 문제는 폴백 메커니즘을 트리거합니다.- 사용자 입력의 사용자 지정된
velero-plugin-for-vsphere
이미지에 예기치 않은 컨테이너 이름이 사용됩니다.예를 들어
x/y/velero-velero-plugin-for-vsphere:v1.1.1
이 사용됩니다. - Velero 배포 이름이
velero
이외의 이름으로 사용자 지정됩니다. 예를 들어 Velero를 배포하기 전에 Velero 배포 이름이 Veleromanifests
파일에서velero-server
로 업데이트되면 문제가 트리거됩니다.velero-plugin-for-vsphere
의 기존 이미지 구문 분석 메커니즘은 고정된 이름인velero
를 사용하는 Velero 배포만 인식할 수 있습니다.
- 사용자 입력의 사용자 지정된
vSphere용 Velero 플러그인 제거
velero-vsphere
CLI를 실행하여 vSphere용 Velero 플러그인를 제거합니다../velero-vsphere uninstall -n velero
velero
라는 vSphere 포드가 제거되었는지 확인합니다.kubectl get pods -n velero
포드가 "종료 중"이라고 표시되면 제거될 때까지 기다렸다가 계속합니다.
- vSphere Client를 사용하여 수동으로 생성한
velero
라는 vSphere 네임스페이스를 삭제합니다.참고: 네임스페이스 삭제가 완료될 때까지 다음 단계를 진행하지 마십시오. kubectl을 사용하여velero
네임스페이스가 제거되었는지 확인할 수 있습니다. (하지만 kubectl을 사용하여velero
네임스페이스를 제거하지는 마십시오.) - vSphere Client를 사용하여 감독자에서 Velero vSphere Operator를 제거합니다.
- 워크로드 관리를 사용하도록 설정된 vCenter 클러스터를 선택합니다.
- 를 선택합니다.
- Velero vSphere Operator를 선택합니다.
- 제거를 클릭합니다.
이 작업을 수행하면 감독자에서 Velero vSphere Operator가 제거됩니다. Operator는 페이지에서 다시 설치할 수 있습니다. 서비스를 완전히 제거하려면 를 선택하십시오.