백업 및 복원
OpenShift Container Platform 클러스터 백업 및 복원
초록
1장. 백업 및 복원 링크 복사링크가 클립보드에 복사되었습니다!
1.1. 컨트롤 플레인 백업 및 복원 작업 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 일정 기간 동안 OpenShift Container Platform 클러스터를 중지하고 나중에 다시 시작해야 할 수 있습니다. 클러스터를 다시 시작하는 몇 가지 이유는 클러스터에서 유지 관리를 수행하거나 리소스 비용을 줄여야 하기 때문입니다. OpenShift Container Platform에서는 나중에 클러스터를 쉽게 다시 시작할 수 있도록 클러스터의 정상 종료 를 수행할 수 있습니다.
클러스터를 종료하기 전에 etcd 데이터를 백업해야 합니다. etcd는 모든 리소스 오브젝트의 상태를 유지하는 OpenShift Container Platform의 키-값 저장소입니다. etcd 백업은 재해 복구에서 중요한 역할을 합니다. OpenShift Container Platform에서는 비정상적인 etcd 멤버를 교체할 수도 있습니다.
클러스터를 다시 실행하려면 클러스터를 정상적으로 다시 시작합니다.
클러스터의 인증서는 설치 날짜 이후 1년 후에 만료됩니다. 클러스터를 종료하고 인증서가 계속 유효한 동안 정상적으로 다시 시작할 것으로 예상할 수 있습니다. 클러스터가 만료된 컨트롤 플레인 인증서를 자동으로 검색하지만 CSR(인증서 서명 요청)을 계속 승인해야 합니다.
다음과 같이 OpenShift Container Platform이 예상대로 작동하지 않는 몇 가지 상황이 발생할 수 있습니다.
- 노드 오류 또는 네트워크 연결 문제와 같은 예기치 않은 조건으로 인해 재시작 후 작동하지 않는 클러스터가 있습니다.
- 클러스터에서 실수로 중요한 것을 삭제했습니다.
- 대부분의 컨트롤 플레인 호스트가 손실되어 etcd 쿼럼이 손실됩니다.
저장된 etcd 스냅샷을 사용하여 클러스터를 이전 상태로 복원하여 재해 상황에서 항상 복구할 수 있습니다.
1.2. 애플리케이션 백업 및 복원 작업 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 OADP(OpenShift API for Data Protection)를 사용하여 OpenShift Container Platform에서 실행되는 애플리케이션을 백업하고 복원할 수 있습니다.
OADP는 Velero CLI 툴 다운로드 의 표에 따라 설치하는 OADP 버전에 적합한 Velero 버전을 사용하여 네임스페이스 단위로 Kubernetes 리소스 및 내부 이미지를 백업하고 복원합니다. OADP는 스냅샷 또는 Restic을 사용하여 PV(영구 볼륨)를 백업하고 복원합니다. 자세한 내용은 OADP 기능을 참조하십시오.
1.2.1. OADP 요구사항 링크 복사링크가 클립보드에 복사되었습니다!
OADP에는 다음과 같은 요구 사항이 있습니다.
-
cluster-admin
역할의 사용자로 로그인해야 합니다. 다음 스토리지 유형 중 하나와 같이 백업을 저장하기 위한 오브젝트 스토리지가 있어야 합니다.
- OpenShift Data Foundation
- Amazon Web Services
- Microsoft Azure
- Google Cloud Platform
- S3 호환 오브젝트 스토리지
- IBM Cloud® Object Storage S3
OCP 4.11 이상에서 CSI 백업을 사용하려면 OADP 1.1.x 를 설치합니다.
OADP 1.0.x 는 OCP 4.11 이상에서 CSI 백업을 지원하지 않습니다. OADP 1.0.x에는 Velero 1.7 x가 포함되어 있으며 OCP 4.11 이상에는 존재하지 않는 API 그룹 snapshot.storage.k8s.io/v1beta1
이 예상됩니다.
S3 스토리지용 CloudStorage
API는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
스냅샷을 사용하여 PV를 백업하려면 기본 스냅샷 API가 있거나 다음 공급자와 같은 CSI(Container Storage Interface) 스냅샷을 지원하는 클라우드 스토리지가 있어야 합니다.
- Amazon Web Services
- Microsoft Azure
- Google Cloud Platform
- CSI 스냅샷 지원 클라우드 스토리지(예: Ceph RBD 또는 Ceph FS)
스냅샷을 사용하여 PV를 백업하지 않으려면 기본적으로 OADP Operator에 의해 설치된 Restic 을 사용할 수 있습니다.
1.2.2. 애플리케이션 백업 및 복원 링크 복사링크가 클립보드에 복사되었습니다!
Backup
CR(사용자 정의 리소스)을 생성하여 애플리케이션을 백업합니다. 백업 CR 생성을 참조하십시오. 다음 백업 옵션을 구성할 수 있습니다.
- 백업 작업 전후에 명령을 실행할 백업 후크 생성
- 백업 예약
- 파일 시스템 백업을 사용하여 애플리케이션 백업: Kopia 또는 Restic
-
Restore
(CR)을 생성하여 애플리케이션 백업을 복원합니다. 복원 CR 생성을 참조하십시오. - 복원 작업 중에 init 컨테이너 또는 애플리케이션 컨테이너에서 명령을 실행하도록 복원 후크 를 구성할 수 있습니다.
2장. 클러스터를 안전하게 종료 링크 복사링크가 클립보드에 복사되었습니다!
이 문서에서는 클러스터를 안전하게 종료하는 프로세스를 설명합니다. 유지 관리를 위해 또는 리소스 비용을 절약하기 위해 일시적으로 클러스터를 종료해야 할 수 있습니다.
2.1. 전제 조건 링크 복사링크가 클립보드에 복사되었습니다!
클러스터를 종료하기 전에 etcd 백업을 수행합니다.
중요클러스터를 다시 시작할 때 문제가 발생할 경우 클러스터를 복원 할 수 있도록 이 단계를 수행하기 전에 etcd 백업을 해 두는 것이 중요합니다.
예를 들어 다음 조건으로 인해 재시작된 클러스터의 오작동이 발생할 수 있습니다.
- 종료 중 etcd 데이터 손상
- 하드웨어로 인한 노드 오류
- 네트워크 연결 문제
클러스터를 복구하지 못하는 경우 이전 클러스터 상태로 복원 단계를 따르십시오.
2.2. 클러스터 종료 링크 복사링크가 클립보드에 복사되었습니다!
나중에 클러스터를 다시 시작하기 위해 안전한 방법으로 클러스터를 종료할 수 있습니다.
설치 날짜부터 1년까지 클러스터를 종료하고 정상적으로 다시 시작할 수 있습니다. 설치 날짜로부터 1년 후에는 클러스터 인증서가 만료됩니다. 그러나 클러스터를 다시 시작할 때 kubelet 인증서를 복구하려면 대기 중인 CSR(인증서 서명 요청)을 수동으로 승인해야 할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있습니다. - etcd 백업이 수행되었습니다.
프로세스
연장된 기간 동안 클러스터를 종료하는 경우 인증서 만료 날짜를 확인하고 다음 명령을 실행합니다.
oc -n openshift-kube-apiserver-operator get secret kube-apiserver-to-kubelet-signer -o jsonpath='{.metadata.annotations.auth\.openshift\.io/certificate-not-after}'
$ oc -n openshift-kube-apiserver-operator get secret kube-apiserver-to-kubelet-signer -o jsonpath='{.metadata.annotations.auth\.openshift\.io/certificate-not-after}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
2022-08-05T14:37:50Zuser@user:~ $
2022-08-05T14:37:50Zuser@user:~ $
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 클러스터를 정상적으로 다시 시작할 수 있도록 지정된 날짜 또는 그 이전에 클러스터를 다시 시작하도록 계획합니다. 클러스터가 재시작되면 프로세스에서 kubelet 인증서를 복구하기 위해 보류 중인 인증서 서명 요청(CSR)을 수동으로 승인해야 할 수 있습니다.
클러스터의 모든 노드를 예약 불가로 표시합니다. 클라우드 공급자의 웹 콘솔에서 이 작업을 수행하거나 다음 반복문을 실행하여 수행할 수 있습니다.
for node in $(oc get nodes -o jsonpath='{.items[*].metadata.name}'); do echo ${node} ; oc adm cordon ${node} ; done
$ for node in $(oc get nodes -o jsonpath='{.items[*].metadata.name}'); do echo ${node} ; oc adm cordon ${node} ; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 방법을 사용하여 Pod를 비웁니다.
for node in $(oc get nodes -l node-role.kubernetes.io/worker -o jsonpath='{.items[*].metadata.name}'); do echo ${node} ; oc adm drain ${node} --delete-emptydir-data --ignore-daemonsets=true --timeout=15s --force ; done
$ for node in $(oc get nodes -l node-role.kubernetes.io/worker -o jsonpath='{.items[*].metadata.name}'); do echo ${node} ; oc adm drain ${node} --delete-emptydir-data --ignore-daemonsets=true --timeout=15s --force ; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 모든 노드를 종료합니다. 클라우드 공급자 웹 콘솔의 웹 콘솔에서 또는 다음 반복문을 실행하여 이 작업을 수행할 수 있습니다. 이러한 방법 중 하나를 사용하여 노드를 종료하면 Pod가 정상적으로 종료되어 데이터 손상 가능성을 줄일 수 있습니다.
참고할당된 API VIP가 있는 컨트롤 플레인 노드가 루프에서 처리된 마지막 노드인지 확인합니다. 그렇지 않으면 shutdown 명령이 실패합니다.
for node in $(oc get nodes -o jsonpath='{.items[*].metadata.name}'); do oc debug node/${node} -- chroot /host shutdown -h 1; done
$ for node in $(oc get nodes -o jsonpath='{.items[*].metadata.name}'); do oc debug node/${node} -- chroot /host shutdown -h 1; done
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
-h 1
은 컨트롤 플레인 노드가 종료되기 전에 이 프로세스가 지속됩니다. 10개 이상의 노드가 있는 대규모 클러스터의 경우-h 10
이상으로 설정하여 모든 컴퓨팅 노드를 먼저 종료할 시간이 있는지 확인합니다.
출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고종료하기 전에 OpenShift Container Platform과 함께 제공되는 표준 Pod의 컨트롤 플레인 노드를 드레인할 필요가 없습니다. 클러스터 관리자는 클러스터를 다시 시작한 후 워크로드를 완전히 다시 시작해야 합니다. 사용자 지정 워크로드로 인해 종료하기 전에 컨트롤 플레인 노드를 드레 이한 경우 다시 시작한 후 클러스터가 다시 작동하기 전에 컨트롤 플레인 노드를 스케줄 대상으로 표시해야합니다.
외부 스토리지 또는 LDAP 서버와 같이 더 이상 필요하지 않은 클러스터 종속성을 중지합니다. 이 작업을 수행하기 전에 공급 업체의 설명서를 확인하십시오.
중요클라우드 공급자 플랫폼에 클러스터를 배포한 경우 연결된 클라우드 리소스를 종료, 일시 중지 또는 삭제하지 마십시오. 일시 중지된 가상 머신의 클라우드 리소스를 삭제하면 OpenShift Container Platform이 성공적으로 복원되지 않을 수 있습니다.
3장. 클러스터를 정상적으로 다시 시작 링크 복사링크가 클립보드에 복사되었습니다!
이 문서에서는 정상 종료 후 클러스터를 다시 시작하는 프로세스에 대해 설명합니다.
다시 시작한 후 클러스터가 정상적으로 작동할 것으로 예상되지만 예상치 못한 상황으로 인해 클러스터가 복구되지 않을 수 있습니다. 예를 들면 다음과 같습니다.
- 종료 중 etcd 데이터 손상
- 하드웨어로 인한 노드 오류
- 네트워크 연결 문제
클러스터를 복구하지 못하는 경우 이전 클러스터 상태로 복원 단계를 따르십시오.
3.1. 전제 조건 링크 복사링크가 클립보드에 복사되었습니다!
3.2. 클러스터를 다시 시작 링크 복사링크가 클립보드에 복사되었습니다!
클러스터가 정상적으로 종료된 후 클러스터를 다시 시작할 수 있습니다.
전제 조건
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있습니다. - 이 프로세스에서는 클러스터를 정상적으로 종료하고 있는 것을 전제로 하고 있습니다.
프로세스
- 외부 스토리지 또는 LDAP 서버와 같은 클러스터의 종속 장치를 시작합니다.
모든 클러스터 시스템을 시작합니다.
클라우드 제공 업체의 웹 콘솔에서 시스템을 시작하는 것과 같이 클라우드 환경에 적합한 방법을 사용하여 시스템을 시작합니다.
약 10분 정도 기다린 후 컨트롤 플레인 노드의 상태를 확인합니다.
모든 컨트롤 플레인 노드가 준비되었는지 확인합니다.
oc get nodes -l node-role.kubernetes.io/master
$ oc get nodes -l node-role.kubernetes.io/master
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 출력에 표시된 대로 노드의 상태가
Ready
인 경우 컨트롤 플레인 노드는 준비된 것입니다.NAME STATUS ROLES AGE VERSION ip-10-0-168-251.ec2.internal Ready control-plane,master 75m v1.29.4 ip-10-0-170-223.ec2.internal Ready control-plane,master 75m v1.29.4 ip-10-0-211-16.ec2.internal Ready control-plane,master 75m v1.29.4
NAME STATUS ROLES AGE VERSION ip-10-0-168-251.ec2.internal Ready control-plane,master 75m v1.29.4 ip-10-0-170-223.ec2.internal Ready control-plane,master 75m v1.29.4 ip-10-0-211-16.ec2.internal Ready control-plane,master 75m v1.29.4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 컨트롤 플레인 노드가 준비되지 않은 경우 승인해야하는 보류중인 인증서 서명 요청(CSR)이 있는지 확인합니다.
현재 CSR의 목록을 가져옵니다.
oc get csr
$ oc get csr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CSR의 세부 사항을 검토하여 CSR이 유효한지 확인합니다.
oc describe csr <csr_name>
$ oc describe csr <csr_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<csr_name>
은 현재 CSR 목록에 있는 CSR의 이름입니다.
각각의 유효한 CSR을 승인합니다.
oc adm certificate approve <csr_name>
$ oc adm certificate approve <csr_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
컨트롤 플레인 노드가 준비되면 모든 작업자 노드가 준비되었는지 확인합니다.
oc get nodes -l node-role.kubernetes.io/worker
$ oc get nodes -l node-role.kubernetes.io/worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 출력에 표시된 대로 작업자 노드의 상태가
Ready
인 경우 작업자 노드는 준비된 것입니다.NAME STATUS ROLES AGE VERSION ip-10-0-179-95.ec2.internal Ready worker 64m v1.29.4 ip-10-0-182-134.ec2.internal Ready worker 64m v1.29.4 ip-10-0-250-100.ec2.internal Ready worker 64m v1.29.4
NAME STATUS ROLES AGE VERSION ip-10-0-179-95.ec2.internal Ready worker 64m v1.29.4 ip-10-0-182-134.ec2.internal Ready worker 64m v1.29.4 ip-10-0-250-100.ec2.internal Ready worker 64m v1.29.4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 작업자 노드가 준비되지 않은 경우 승인해야하는 보류중인 인증서 서명 요청(CSR)이 있는지 확인합니다.
현재 CSR의 목록을 가져옵니다.
oc get csr
$ oc get csr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CSR의 세부 사항을 검토하여 CSR이 유효한지 확인합니다.
oc describe csr <csr_name>
$ oc describe csr <csr_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<csr_name>
은 현재 CSR 목록에 있는 CSR의 이름입니다.
각각의 유효한 CSR을 승인합니다.
oc adm certificate approve <csr_name>
$ oc adm certificate approve <csr_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
컨트롤 플레인 및 작업자 노드가 준비되면 클러스터의 모든 노드를 예약 가능으로 표시합니다. 다음 명령을 실행합니다.
for node in $(oc get nodes -o jsonpath='{.items[*].metadata.name}'); do echo ${node} ; oc adm uncordon ${node} ; done
for node in $(oc get nodes -o jsonpath='{.items[*].metadata.name}'); do echo ${node} ; oc adm uncordon ${node} ; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터가 제대로 시작되었는지 확인합니다.
성능이 저하된 클러스터 Operator가 없는지 확인합니다.
oc get clusteroperators
$ oc get clusteroperators
Copy to Clipboard Copied! Toggle word wrap Toggle overflow DEGRADED
조건이True
로 설정된 클러스터 Operator가 없는지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 노드가
Ready
상태에 있는지 확인합니다.oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 노드의 상태가
Ready
상태인지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터가 제대로 시작되지 않은 경우 etcd 백업을 사용하여 클러스터를 복원해야 할 수 있습니다.
4장. OADP 애플리케이션 백업 및 복원 링크 복사링크가 클립보드에 복사되었습니다!
4.1. 데이터 보호를 위한 OpenShift API 소개 링크 복사링크가 클립보드에 복사되었습니다!
OADP(OpenShift API for Data Protection) 제품은 OpenShift Container Platform에서 고객 애플리케이션을 보호합니다. OpenShift Container Platform 애플리케이션, 애플리케이션 관련 클러스터 리소스, 영구 볼륨 및 내부 이미지를 다루는 포괄적인 재해 복구 보호 기능을 제공합니다. OADP는 컨테이너화된 애플리케이션과 VM(가상 머신)을 모두 백업할 수 있습니다.
그러나 OADP는 etcd 또는 OpenShift Operator의 재해 복구 솔루션 역할을 하지 않습니다.
OADP 지원은 고객 워크로드 네임스페이스 및 클러스터 범위 리소스에 제공됩니다.
4.1.1. OpenShift API for Data Protection API 링크 복사링크가 클립보드에 복사되었습니다!
OADP(OpenShift API for Data Protection)는 여러 가지 접근 방식을 통해 백업을 사용자 지정하고 불필요하거나 부적절한 리소스가 포함되지 않도록 하는 API를 제공합니다.
OADP는 다음 API를 제공합니다.
4.1.1.1. OpenShift API for Data Protection 지원 링크 복사링크가 클립보드에 복사되었습니다!
버전 | OCP 버전 | 정식 출시일 (GA) | 완전 지원 종료 | 유지 관리 종료 | Extended Update Support (EUS) | EUS (Extended Update Support Term 2) |
1.4 |
| 2024년 7월 10일 | 1.5 릴리스 | 1.6 릴리스 | 2026년 6월 27일 EUS는 OCP 4.16에 있어야 합니다. | 2027년 6월 27일 EUS 기간 2는 OCP 4.16에 있어야 합니다. |
1.3 |
| 2023년 11월 29일 | 2024년 7월 10일 | 1.5 릴리스 | 2025년 10월 31일 EUS는 OCP 4.14에 있어야 합니다. | 2026년 10월 31일 EUS 용어 2는 OCP 4.14에 있어야 합니다. |
4.1.1.1.1. 지원되지 않는 OADP Operator 버전 링크 복사링크가 클립보드에 복사되었습니다!
버전 | 정식 출시일 (GA) | 완전 지원 종료 | 유지 관리 종료 |
1.2 | 2023년 6월 14일 | 2023년 11월 29일 | 2024년 7월 10일 |
1.1 | 2022년 9월 01일 | 2023년 6월 14일 | 2023년 11월 29일 |
1.0 | 2022년 2월 9일 | 2022년 9월 01일 | 2023년 6월 14일 |
EUS에 대한 자세한 내용은 확장 업데이트 지원을 참조하십시오.
EUS 용어 2에 대한 자세한 내용은 Extended Update Support Term 2 를 참조하십시오.
4.2. OADP 릴리스 노트 링크 복사링크가 클립보드에 복사되었습니다!
4.2.1. OADP 1.4 릴리스 노트 링크 복사링크가 클립보드에 복사되었습니다!
OADP(OpenShift API for Data Protection)의 릴리스 노트는 새로운 기능 및 개선 사항, 더 이상 사용되지 않는 기능, 제품 권장 사항, 알려진 문제, 해결된 문제를 설명합니다.
OADP에 대한 자세한 내용은 OADP (OpenShift API for Data Protection) FAQ를 참조하십시오.
4.2.1.1. OADP 1.4.2 릴리스 노트 링크 복사링크가 클립보드에 복사되었습니다!
OADP(OpenShift API for Data Protection) 1.4.2 릴리스 노트에는 새로운 기능, 해결된 문제 및 버그 및 알려진 문제가 나열됩니다.
4.2.1.1.1. 새로운 기능 링크 복사링크가 클립보드에 복사되었습니다!
VolumePolicy 기능을 사용하여 동일한 네임스페이스에 다른 볼륨을 백업할 수 있음
이번 릴리스에서는 Velero가 VolumePolicy
기능을 사용하여 동일한 네임스페이스에 다른 볼륨을 백업하는 리소스 정책을 제공합니다. 다른 볼륨을 백업하기 위해 지원되는 VolumePolicy
기능에는 skip
,snapshot
, fs-backup
작업이 포함됩니다. OADP-1071
파일 시스템 백업 및 데이터 이동기에서 단기 자격 증명을 사용할 수 있음
파일 시스템 백업 및 데이터 이동자는 이제 AWS STS(보안 토큰 서비스) 및 GCP WIF와 같은 단기 인증 정보를 사용할 수 있습니다. 이 지원을 통해 PartiallyFailed
상태 없이 백업이 성공적으로 완료됩니다. OADP-5095
4.2.1.1.2. 해결된 문제 링크 복사링크가 클립보드에 복사되었습니다!
이제 VSL에 잘못된 공급자 값이 포함된 경우 DPA에서 오류를 보고합니다.
이전에는 VSL( Volume Snapshot Location) 사양 공급자가 잘못된 경우 DPA(데이터 보호 애플리케이션)가 성공적으로 조정되었습니다. 이번 업데이트를 통해 DPA는 유효한 공급자 값에 대한 오류 및 요청을 보고합니다. OADP-5044
데이터 Mover 복원은 백업 및 복원을 위해 다른 OADP 네임스페이스를 사용하는 것과 관계없이 성공
이전 버전에서는 하나의 네임스페이스에 설치된 OADP를 사용하여 백업 작업을 실행했지만 다른 네임스페이스에 설치된 OADP를 사용하여 복원할 때 Data Mover 복원에 실패했습니다. 이번 업데이트를 통해 Data Mover 복원이 성공적으로 수행됩니다. OADP-5460
SSE-C 백업은 계산된 MD5 보안 키에서 작동합니다.
이전에는 백업에 다음 오류와 함께 실패했습니다.
Requests specifying Server Side Encryption with Customer provided keys must provide the client calculated MD5 of the secret key.
Requests specifying Server Side Encryption with Customer provided keys must provide the client calculated MD5 of the secret key.
이번 업데이트를 통해 이제 SSE-C(Customer-C) base64 및 MD5 해시를 사용하여 Server-Side 암호화가 수정되었습니다. 결과적으로 SSE-C 백업은 계산된 MD5의 시크릿 키와 함께 작동합니다. 또한 customerKey
크기에 대한 잘못된 오류
도 수정되었습니다. OADP-5388
이 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.4.2 해결 문제 목록을 참조하십시오.
4.2.1.1.3. 확인된 문제 링크 복사링크가 클립보드에 복사되었습니다!
Data Mover 복원 작업에 nodeSelector 사양이 지원되지 않음
nodeAgent
매개변수에 설정된 nodeSelector
필드를 사용하여 DPA(데이터 보호 애플리케이션)가 생성되면 복원 작업을 완료하는 대신 데이터 Mover 복원이 부분적으로 실패합니다. OADP-5260
TLS 건너뛰기 확인이 지정되면 S3 스토리지에서 프록시 환경을 사용하지 않습니다.
이미지 레지스트리 백업에서 insecureSkipTLSVerify
매개변수가 true
로 설정된 경우 S3 스토리지에서 프록시 환경을 사용하지 않습니다. OADP-3143
Kopia는 백업 만료 후 아티팩트를 삭제하지 않습니다.
백업을 삭제한 후에도 Kopia는 백업이 만료된 후 ${bucket_name}/kopia/$openshift-adp
에서 볼륨 아티팩트를 삭제하지 않습니다. 자세한 내용은 "Kopia 리포지토리 유지 관리"를 참조하십시오. OADP-5131
4.2.1.2. OADP 1.4.1 릴리스 노트 링크 복사링크가 클립보드에 복사되었습니다!
OADP(OpenShift API for Data Protection) 1.4.1 릴리스 노트에는 새로운 기능, 해결된 문제 및 버그 및 알려진 문제가 나열됩니다.
4.2.1.2.1. 새로운 기능 링크 복사링크가 클립보드에 복사되었습니다!
클라이언트 qps 및 버스트 업데이트를 위한 새로운 DPA 필드
새로운 DPA(Data Protection Application) 필드를 사용하여 초당 Velero 서버 Kubernetes API 쿼리 및 버스트 값을 변경할 수 있습니다. 새 DPA 필드는 spec.configuration.velero.client-qps
및 spec.configuration.velero.client-burst
입니다. 기본값은 100입니다. OADP-4076
Kopia를 사용하여 기본이 아닌 알고리즘 활성화
이번 업데이트를 통해 이제 Kopia에서 해시, 암호화 및 분할 알고리즘을 구성하여 기본이 아닌 옵션을 선택하여 다른 백업 워크로드에 대한 성능을 최적화할 수 있습니다.
이러한 알고리즘을 구성하려면 DPA(DataProtectionApplication) 구성의 podConfig
섹션에서 velero
Pod의 env
변수를 설정합니다. 이 변수가 설정되지 않았거나 지원되지 않는 알고리즘이 선택되면 Kopia는 기본적으로 표준 알고리즘으로 설정됩니다. OADP-4640
4.2.1.2.2. 해결된 문제 링크 복사링크가 클립보드에 복사되었습니다!
Pod 없이 백업 복원이 성공적으로 수행됨
이전 버전에서는 Pod 없이 백업을 복원하고 StorageClass VolumeBindingMode
가 WaitForFirstConsumer
로 설정된 경우 다음과 같은 오류가 발생했습니다. err: 컨텍스트 데드가 초과
되었습니다. 이번 업데이트를 통해 동적 PV 패치를 건너뛰고 백업 복원은
PartiallyFailed
상태 없이 성공적으로 수행됩니다. OADP-4231
PodVolumeBackup CR에 올바른 메시지가 표시됨
이전에는 PodVolumeBackup
CR(사용자 정의 리소스)에서 잘못된 메시지를 생성했습니다. 즉, 서버를 시작하는 동안 "InProgress" 상태의 podvolumebackup을 가져와서 "Failed"로
표시했습니다. 이번 업데이트를 통해 생성된 메시지가 이제 다음과 같습니다.
found a podvolumebackup with status "InProgress" during the server starting, mark it as "Failed".
found a podvolumebackup with status "InProgress" during the server starting,
mark it as "Failed".
DPA를 사용하여 imagePullPolicy를 덮어쓸 수 있음
이전에는 OADP가 모든 이미지에 대해 imagePullPolicy
매개변수를 Always
로 설정합니다. 이번 업데이트를 통해 OADP는 각 이미지에 sha256
또는 sha512
다이제스트가 포함되어 있는지 확인한 다음 imagePullPolicy
를 IfNotPresent
로 설정합니다. 그러지 않으면 imagePullPolicy
가 Always
로 설정됩니다. 이제 새 spec.containerImagePullPolicy
DPA 필드를 사용하여 이 정책을 덮어쓸 수 있습니다. OADP-4172
초기 업데이트가 실패하면 OADP Velero에서 복원 상태 업데이트를 다시 시도할 수 있습니다.
이전에는 OADP Velero가 복원된 CR 상태를 업데이트하지 못했습니다. 그러면 InProgress
가 무기한 상태가 되었습니다. 백업에 의존하여 CR 상태를 복원하여 완료를 확인하는 구성 요소가 실패했습니다. 이번 업데이트를 통해 복원 CR 상태가 Completed
또는 Failed
상태로 올바르게 진행됩니다. OADP-3227
다른 클러스터에서 BuildConfig 빌드 복원은 오류 없이 성공적으로 수행됩니다.
이전 버전에서는 다른 클러스터에서 BuildConfig
Build 리소스의 복원을 수행할 때 애플리케이션에서 내부 이미지 레지스트리에 대한 TLS 확인에 오류가 발생했습니다. 이로 인해 인증서 확인 실패: x509: certificate signed by unknown authority
오류가 발생했습니다. 이번 업데이트를 통해 BuildConfig
빌드 리소스를 다른 클러스터로 복원하면 인증서 오류를 확인하지 못했습니다
. OADP-4692
빈 PVC를 복원하는 데 성공
이전에는 PVC(영구 볼륨 클레임)를 복원하는 동안 데이터를 다운로드하지 못했습니다. 다음과 같은 오류와 함께 실패했습니다.
data path restore failed: Failed to run kopia restore: Unable to load snapshot : snapshot not found
data path restore failed: Failed to run kopia restore: Unable to load
snapshot : snapshot not found
이번 업데이트를 통해 빈 PVC를 복원할 때 데이터 다운로드가 올바른 것으로 진행되며 오류 메시지가 생성되지 않습니다. OADP-3106
CSI 및 DataMover 플러그인에는 Velero 메모리 누출이 없습니다.
이전에는 Velero 메모리 누수가 CSI 및 DataMover 플러그인을 사용하여 발생했습니다. 백업이 종료되면 Velero 플러그인 인스턴스가 삭제되지 않았으며 Velero Pod에서 OOM( Out of Memory
) 조건이 생성될 때까지 메모리 누수에 메모리가 사용되었습니다. 이번 업데이트를 통해 CSI 및 DataMover 플러그인을 사용할 때 Velero 메모리 누출이 발생하지 않습니다. OADP-4448
관련 PV가 릴리스되기 전에 후크 후 작업이 시작되지 않음
이전 버전에서는 Data Mover 작업의 비동기적 특성으로 인해 PVC(데이터 Mover 영구 볼륨 클레임)가 관련 Pod의 PV(영구 볼륨)를 릴리스하기 전에 후크 후 시도할 수 있었습니다. 이 문제로 인해 PartiallyFailed
상태로 백업이 실패했습니다. 이번 업데이트를 통해 관련 PV가 Data Mover PVC에 의해 릴리스될 때까지 단계 후 작업이 시작되어 PartiallyFailed
백업 상태가 제거됩니다. OADP-3140
DPA 배포는 37자를 초과하는 네임스페이스에서 예상대로 작동합니다.
새 DPA를 생성하기 위해 37자 이상의 네임스페이스에 OADP Operator를 설치하면 "cloud-credentials" 시크릿 레이블이 실패하고 DPA에서 다음 오류를 보고합니다.
The generated label name is too long.
The generated label name is too long.
이번 업데이트를 통해 DPA 생성은 이름에 37자를 초과하는 네임스페이스에서 실패하지 않습니다. OADP-3960
시간 초과 오류를 재정의하여 복원이 성공적으로 완료되었습니다.
이전 버전에서는 대규모 환경에서 복원 작업으로 인해 오류가 있는 Partiallyfailed
상태가 발생하고 동적 PV를 패치할 수 없었습니다. err: 컨텍스트 데드가 초과되었습니다
. 이번 업데이트를 통해 resourceTimeout
Velero 서버 인수가 이 시간 초과 오류를 재정의하여 성공적으로 복원됩니다. OADP-4344
이 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.4.1 해결 문제 목록을 참조하십시오.
4.2.1.2.3. 확인된 문제 링크 복사링크가 클립보드에 복사되었습니다!
Cryostat 애플리케이션 pod는 OADP를 복원한 후 CrashLoopBackoff
상태로 들어갑니다.
OADP 복원 후 Cryostat 애플리케이션 Pod가 CrashLoopBackoff
상태가 될 수 있습니다. 이 문제를 해결하려면 OADP를 복원한 후 CrashLoopBackoff
오류를 반환하는 StatefulSet
Pod를 삭제합니다. 그런 다음 StatefulSet
컨트롤러는 이러한 Pod를 다시 생성하고 정상적으로 실행됩니다. OADP-4407
ImageStream을 참조하는 배포가 제대로 복원되지 않아 손상된 Pod 및 볼륨 콘텐츠
FSB(파일 시스템 백업) 복원 작업 중에 ImageStream
을 참조하는 Deployment
리소스가 제대로 복원되지 않습니다. FSB를 실행하는 복원된 Pod 및 postHook
은 조기에 종료됩니다.
복원 작업 중에 OpenShift Container Platform 컨트롤러는 Deployment
리소스의 spec.template.spec.containers[0].image
필드를 업데이트된 ImageStreamTag
해시로 업데이트합니다. 이번 업데이트에서는 새 Pod의 롤아웃을 트리거하여 velero
가 후크 후 함께 FSB를 실행하는 Pod를 종료합니다. 이미지 스트림 트리거에 대한 자세한 내용은 이미지 스트림 변경에 대한 업데이트 트리거 를 참조하십시오.
이 동작에 대한 해결방법은 2단계 복원 프로세스입니다.
배포
리소스를 제외한 복원을 수행합니다. 예를 들면 다음과 같습니다.velero restore create <RESTORE_NAME> \ --from-backup <BACKUP_NAME> \ --exclude-resources=deployment.apps
$ velero restore create <RESTORE_NAME> \ --from-backup <BACKUP_NAME> \ --exclude-resources=deployment.apps
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 첫 번째 복원이 성공하면 다음 리소스를 포함하여 두 번째 복원을 수행합니다. 예를 들면 다음과 같습니다.
velero restore create <RESTORE_NAME> \ --from-backup <BACKUP_NAME> \ --include-resources=deployment.apps
$ velero restore create <RESTORE_NAME> \ --from-backup <BACKUP_NAME> \ --include-resources=deployment.apps
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.2.1.3. OADP 1.4.0 릴리스 노트 링크 복사링크가 클립보드에 복사되었습니다!
OADP(OpenShift API for Data Protection) 1.4.0 릴리스 노트에는 해결된 문제 및 알려진 문제가 나열됩니다.
4.2.1.3.1. 해결된 문제 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 4.16에서 복원이 올바르게 작동합니다.
이전 버전에서는 삭제된 애플리케이션 네임스페이스를 복원하는 동안 리소스 이름으로 복원 작업이 부분적으로 실패했습니다. OpenShift Container Platform 4.16에서 복원 오류가 비어 있지 않을 수
있었습니다. 이번 업데이트를 통해 복원은 OpenShift Container Platform 4.16에서 예상대로 작동합니다. OADP-4075
OpenShift Container Platform 4.16 클러스터에서 데이터 Mover 백업이 제대로 작동함
이전에는 Velero에서 Spec.SourceVolumeMode
필드가 없는 이전 버전의 SDK를 사용하고 있었습니다. 그 결과 버전 4.2가 있는 외부 스냅샷터의 OpenShift Container Platform 4.16 클러스터에서 Data Mover 백업이 실패했습니다. 이번 업데이트를 통해 외부 스냅샷터가 버전 7.0 이상으로 업그레이드됩니다. 결과적으로 OpenShift Container Platform 4.16 클러스터에서 백업이 실패하지 않습니다. OADP-3922
이 릴리스에서 해결된 모든 문제의 전체 목록은 Jira의 OADP 1.4.0 해결 문제 목록을 참조하십시오.
4.2.1.3.2. 확인된 문제 링크 복사링크가 클립보드에 복사되었습니다!
MCG에 대해 checksumAlgorithm이 설정되지 않은 경우 백업이 실패합니다.
Noobaa를 백업 위치로 사용하여 모든 애플리케이션의 백업을 수행하는 동안 checksumAlgorithm
구성 매개변수가 설정되지 않은 경우 백업이 실패합니다. 이 문제를 해결하려면 백업 스토리지 위치(BSL) 구성에 checksumAlgorithm
에 대한 값을 지정하지 않으면 빈 값이 추가됩니다. 빈 값은 DPA(Data Protection Application) 사용자 정의 리소스(CR)를 사용하여 생성된 BSL에 대해서만 추가되며 BSL이 다른 방법을 사용하여 생성된 경우에는 이 값이 추가되지 않습니다. OADP-4274
이 릴리스에서 알려진 모든 문제의 전체 목록은 Jira의 OADP 1.4.0 알려진 문제 목록을 참조하십시오.
4.2.1.3.3. 업그레이드 노트 링크 복사링크가 클립보드에 복사되었습니다!
항상 다음 마이너 버전으로 업그레이드합니다. 버전을 건너뛰지 마십시오. 이후 버전으로 업데이트하려면 한 번에 하나의 채널만 업그레이드합니다. 예를 들어 OADP(OpenShift API for Data Protection) 1.1에서 1.3으로 업그레이드하려면 먼저 1.2로 업그레이드한 다음 1.3으로 업그레이드합니다.
4.2.1.3.3.1. OADP 1.3에서 1.4로 변경 링크 복사링크가 클립보드에 복사되었습니다!
Velero 서버가 버전 1.12에서 1.14로 업데이트되었습니다. DPA(Data Protection Application)에 변경 사항이 없습니다.
이렇게 하면 다음이 변경됩니다.
-
이제 Velero 코드에서
velero-plugin-for-csi
코드를 사용할 수 있으므로 플러그인에init
컨테이너가 더 이상 필요하지 않습니다. - Velero가 클라이언트 Burst 및 QPS 기본값을 각각 30 및 20에서 100으로 변경했습니다.
velero-plugin-for-aws
플러그인은""
에서CRC32
알고리즘으로BackupStorageLocation
오브젝트(BSL)의spec.config.checksumAlgorithm
필드의 기본값을 업데이트했습니다. 체크섬 알고리즘 유형은 AWS에서만 작동하는 것으로 알려져 있습니다. 여러 S3 공급자를 사용하려면 체크섬 알고리즘을""
로 설정하여md5sum
을 비활성화해야 합니다. 스토리지 공급자를 사용한md5sum
알고리즘 지원 및 구성을 확인합니다.OADP 1.4에서 이 구성에 대해 DPA 내에서 생성된 BSL의 기본값은
""
입니다. 이 기본값은 OADP 1.3과 일치하는md5sum
이 확인되지 않음을 의미합니다. DPA 내에서 생성된 BSL의 경우 DPA의spec.backupLocations[].velero.config.checksumAlgorithm
필드를 사용하여 업데이트합니다. BSL이 DPA 외부에서 생성되는 경우 BSL에서spec.config.checksumAlgorithm
을 사용하여 이 구성을 업데이트할 수 있습니다.
4.2.1.3.3.2. DPA 구성 백업 링크 복사링크가 클립보드에 복사되었습니다!
현재 DPA( DataProtectionApplication
) 구성을 백업해야 합니다.
프로세스
다음 명령을 실행하여 현재 DPA 구성을 저장합니다.
명령 예
oc get dpa -n openshift-adp -o yaml > dpa.orig.backup
$ oc get dpa -n openshift-adp -o yaml > dpa.orig.backup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.2.1.3.3.3. OADP Operator 업그레이드 링크 복사링크가 클립보드에 복사되었습니다!
OADP(OpenShift API for Data Protection) Operator를 업그레이드할 때 다음 절차를 사용하십시오.
프로세스
-
OADP Operator의 서브스크립션 채널을
stable-1.3
에서stable-1.4
로 변경합니다. - Operator 및 컨테이너가 업데이트되고 다시 시작될 때까지 기다립니다.
4.2.1.3.4. DPA를 새 버전으로 변환 링크 복사링크가 클립보드에 복사되었습니다!
OADP 1.3에서 1.4로 업그레이드하려면 DPA(Data Protection Application)를 변경할 필요가 없습니다.
4.2.1.3.5. 업그레이드 확인 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차를 사용하여 업그레이드를 확인합니다.
프로세스
다음 명령을 실행하여 OADP(OpenShift API for Data Protection) 리소스를 확인하여 설치를 확인합니다.
oc get all -n openshift-adp
$ oc get all -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 DPA(
DataProtectionApplication
)가 조정되었는지 확인합니다.oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
$ oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
유형이
Reconciled
으로 설정되어 있는지 확인합니다. 백업 스토리지 위치를 확인하고 다음 명령을 실행하여
PHASE
가 사용
가능한지 확인합니다.oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3. OADP 성능 링크 복사링크가 클립보드에 복사되었습니다!
4.3.1. OADP 권장 네트워크 설정 링크 복사링크가 클립보드에 복사되었습니다!
OADP(OpenShift API for Data Protection)에서 지원되는 환경을 위해 OpenShift 노드, S3 스토리지 및 OpenShift 네트워크 요구 사항 권장 사항을 충족하는 지원되는 클라우드 환경에서 안정적이고 탄력적인 네트워크가 있어야 합니다.
최적의 데이터 경로가 있는 원격 S3 버킷을 사용한 배포에 대한 백업 및 복원 작업을 성공적으로 수행하려면 네트워크 설정이 최적의 조건에서 다음과 같은 최소 요구 사항을 충족하는 것이 좋습니다.
- 대역폭(오브젝트 스토리지에 대한 네트워크 업로드 속도): 작은 백업의 경우 2Mbps 이상, 더 큰 백업의 데이터 볼륨에 따라 10-100Mbps입니다.
- 패킷 손실: 1%
- 패킷 손상: 1%
- 대기 시간: 100ms
OpenShift Container Platform 네트워크가 최적으로 작동하고 OpenShift Container Platform 네트워크 요구 사항을 충족하는지 확인하십시오.
Red Hat은 표준 백업 및 복원 실패를 지원하지만 권장 임계값을 충족하지 않는 네트워크 설정으로 인한 오류를 지원하지 않습니다.
4.4. OADP 기능 및 플러그인 링크 복사링크가 클립보드에 복사되었습니다!
OADP(OpenShift API for Data Protection) 기능은 애플리케이션 백업 및 복원 옵션을 제공합니다.
기본 플러그인을 사용하면 Velero가 특정 클라우드 공급자와 통합하고 OpenShift Container Platform 리소스를 백업 및 복원할 수 있습니다.
4.4.1. OADP 기능 링크 복사링크가 클립보드에 복사되었습니다!
OADP(OpenShift API for Data Protection)는 다음 기능을 지원합니다.
- Backup
OADP를 사용하여 OpenShift Platform의 모든 애플리케이션을 백업하거나 유형, 네임스페이스 또는 레이블별로 리소스를 필터링할 수 있습니다.
OADP는 Kubernetes 오브젝트 및 내부 이미지를 오브젝트 스토리지에 아카이브 파일로 저장하여 백업합니다. OADP는 기본 클라우드 스냅샷 API 또는 CSI(Container Storage Interface)를 사용하여 스냅샷을 생성하여 PV(영구 볼륨)를 백업합니다. 스냅샷을 지원하지 않는 클라우드 공급자의 경우 OADP는 Restic을 사용하여 리소스 및 PV 데이터를 백업합니다.
참고백업 및 복원을 성공하려면 애플리케이션 백업에서 Operator를 제외해야 합니다.
- Restore
백업에서 리소스 및 PV를 복원할 수 있습니다. 백업의 모든 오브젝트를 복원하거나 네임스페이스, PV 또는 라벨별로 오브젝트를 필터링할 수 있습니다.
참고백업 및 복원을 성공하려면 애플리케이션 백업에서 Operator를 제외해야 합니다.
- 스케줄
- 지정된 간격으로 백업을 예약할 수 있습니다.
- 후크
-
후크를 사용하여 Pod의 컨테이너에서 명령을 실행할 수 있습니다(예:
fsfreeze
를 사용하여 파일 시스템을 정지). 백업 또는 복원 전후에 실행되도록 후크를 구성할 수 있습니다. 복원 후크는 init 컨테이너 또는 애플리케이션 컨테이너에서 실행될 수 있습니다.
4.4.2. OADP 플러그인 링크 복사링크가 클립보드에 복사되었습니다!
OADP(OpenShift API for Data Protection)는 스토리지 공급자와 통합된 기본 Velero 플러그인을 제공하여 백업 및 스냅샷 작업을 지원합니다. Velero 플러그인을 기반으로 사용자 지정 플러그인 을 생성할 수 있습니다.
OADP는 OpenShift Container Platform 리소스 백업, OpenShift Virtualization 리소스 백업 및 CSI(Container Storage Interface) 스냅샷에 대한 플러그인도 제공합니다.
OADP 플러그인 | 함수 | 스토리지 위치 |
---|---|---|
| Kubernetes 오브젝트를 백업하고 복원합니다. | AWS S3 |
스냅샷을 사용하여 볼륨을 백업하고 복원합니다. | AWS EBS | |
| Kubernetes 오브젝트를 백업하고 복원합니다. | Microsoft Azure Blob 스토리지 |
스냅샷을 사용하여 볼륨을 백업하고 복원합니다. | Microsoft Azure Managed Disks | |
| Kubernetes 오브젝트를 백업하고 복원합니다. | Google Cloud Storage |
스냅샷을 사용하여 볼륨을 백업하고 복원합니다. | Google Compute Engine Disks | |
| OpenShift Container Platform 리소스를 백업하고 복원합니다. [1] | 오브젝트 저장소 |
| OpenShift Virtualization 리소스를 백업하고 복원합니다. [2] | 오브젝트 저장소 |
| CSI 스냅샷을 사용하여 볼륨을 백업하고 복원합니다. [3] | CSI 스냅샷을 지원하는 클라우드 스토리지 |
| VolumeSnapshotMover는 클러스터 삭제와 같은 상황에서 상태 저장 애플리케이션을 복구하는 동안 사용할 스냅샷을 클러스터에서 오브젝트 저장소로 재배치합니다. [4] | 오브젝트 저장소 |
- 필수 항목입니다.
- 가상 머신 디스크는 CSI 스냅샷 또는 Restic을 사용하여 백업됩니다.
csi
플러그인은 Kubernetes CSI 스냅샷 API를 사용합니다.-
OADP 1.1 이상에서는
snapshot.storage.k8s.io/v1
을 사용합니다. -
OADP 1.0 uses
snapshot.storage.k8s.io/v1beta1
-
OADP 1.1 이상에서는
- OADP 1.2만 해당
4.4.3. OADP Velero 플러그인 정보 링크 복사링크가 클립보드에 복사되었습니다!
Velero를 설치할 때 두 가지 유형의 플러그인을 구성할 수 있습니다.
- 기본 클라우드 공급자 플러그인
- 사용자 정의 플러그인
두 가지 유형의 플러그인은 모두 선택 사항이지만 대부분의 사용자는 하나 이상의 클라우드 공급자 플러그인을 구성합니다.
4.4.3.1. 기본 Velero 클라우드 공급자 플러그인 링크 복사링크가 클립보드에 복사되었습니다!
배포 중에 oadp_v1alpha1_dpa.yaml
파일을 구성할 때 다음 기본 Velero 클라우드 공급자 플러그인을 설치할 수 있습니다.
-
AWS(
Amazon Web Services) -
GCP
(Google Cloud Platform) -
Azure
(Microsoft Azure) -
openshift
(OpenShift Velero plugin) -
csi
(Container Storage Interface) -
kubevirt
(KubeVirt)
배포 중에 oadp_v1alpha1_dpa.yaml
파일에 원하는 기본 플러그인을 지정합니다.
파일 예
다음 .yaml
파일은 openshift
,aws
,azure
및 gcp
플러그인을 설치합니다.
4.4.3.2. 사용자 정의 Velero 플러그인 링크 복사링크가 클립보드에 복사되었습니다!
배포 중에 oadp_v1alpha1_dpa.yaml
파일을 구성할 때 플러그인 image
및 name
을 지정하여 사용자 지정 Velero 플러그인을 설치할 수 있습니다.
배포 중에 oadp_v1alpha1_dpa.yaml
파일에 원하는 사용자 지정 플러그인을 지정합니다.
4.4.3.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.4.4. 링크 복사링크가 클립보드에 복사되었습니다!
- s390x
OADP 1.2.0 이상 버전은 ARM64 아키텍처를 지원합니다.
4.4.5. IBM Power 및 IBM Z에 대한 OADP 지원 링크 복사링크가 클립보드에 복사되었습니다!
OADP(OpenShift API for Data Protection)는 플랫폼 중립입니다. 다음 정보는 IBM Power® 및 IBM Z®에만 관련이 있습니다.
- OADP 1.1.7은 IBM Power® 및 IBM Z® 모두에 대해 OpenShift Container Platform 4.11에 대해 성공적으로 테스트되었습니다. 다음 섹션에서는 이러한 시스템의 백업 위치 측면에서 OADP 1.1.7에 대한 테스트 및 지원 정보를 제공합니다.
- OADP 1.2.3은 IBM Power® 및 IBM Z® 모두에 대해 OpenShift Container Platform 4.12, 4.13, 4.14 및 4.15에 대해 성공적으로 테스트되었습니다. 다음 섹션에서는 이러한 시스템의 백업 위치 측면에서 OADP 1.2.3에 대한 테스트 및 지원 정보를 제공합니다.
- OADP 1.3.3은 IBM Power® 및 IBM Z® 모두에 대해 OpenShift Container Platform 4.12, 4.13, 4.14 및 4.15에 대해 성공적으로 테스트되었습니다. 다음 섹션에서는 이러한 시스템의 백업 위치 측면에서 OADP 1.3.3에 대한 테스트 및 지원 정보를 제공합니다.
- OADP 1.4.2는 IBM Power® 및 IBM Z® 모두에 대해 OpenShift Container Platform 4.14, 4.15 및 4.16에 대해 성공적으로 테스트되었습니다. 다음 섹션에서는 이러한 시스템의 백업 위치 측면에서 OADP 1.4.2에 대한 테스트 및 지원 정보를 제공합니다.
4.4.5.1. IBM Power를 사용하여 대상 백업 위치에 대한 OADP 지원 링크 복사링크가 클립보드에 복사되었습니다!
- OpenShift Container Platform 4.11 및 4.12로 실행 중인 IBM Power®는 OADP(OpenShift API for Data Protection) 1.1.7을 사용하여 AWS S3 백업 위치 대상에 대해 성공적으로 테스트되었습니다. 이 테스트에는 AWS S3 대상만 포함되었지만 Red Hat은 OpenShift Container Platform 4.11 및 4.12를 사용하여 IBM Power® 실행을 지원하며 AWS가 아닌 모든 S3 백업 위치 대상에 대해 OADP 1.1.7도 지원합니다.
- OpenShift Container Platform 4.12, 4.13, 4.14, 4.15 및 OADP 1.2.3에서 실행되는 IBM Power®는 AWS S3 백업 위치 대상에 대해 성공적으로 테스트되었습니다. 이 테스트는 AWS S3 대상만 포함했지만 Red Hat은 AWS가 아닌 모든 S3 백업 위치 대상에 대해 OpenShift Container Platform 4.12, 4.13. 4.14, 4.15 및 OADP 1.2.3을 사용하여 IBM Power® 실행을 지원합니다.
- OpenShift Container Platform 4.12, 4.13, 4.14, 4.15 및 OADP 1.3.3에서 실행 중인 IBM Power®는 AWS S3 백업 위치 대상에 대해 성공적으로 테스트되었습니다. 이 테스트에는 AWS S3 대상만 포함되었지만 Red Hat은 AWS가 아닌 모든 S3 백업 위치 대상에 대해 OpenShift Container Platform 4.13, 4.14, 4.15 및 OADP 1.3.3을 사용하여 IBM Power® 실행을 지원합니다.
- OpenShift Container Platform 4.14, 4.15, 4.16 및 OADP 1.4.2에서 실행 중인 IBM Power®는 AWS S3 백업 위치 대상에 대해 성공적으로 테스트되었습니다. 이 테스트는 AWS S3 대상만 포함했지만 Red Hat은 AWS가 아닌 모든 S3 백업 위치 대상에 대해 OpenShift Container Platform 4.14, 4.15, 4.16, OADP 1.4.2를 사용하여 IBM Power® 실행을 지원합니다.
4.4.5.2. OADP 테스트 및 IBM Z를 사용하여 대상 백업 위치 지원 링크 복사링크가 클립보드에 복사되었습니다!
- OpenShift Container Platform 4.11 및 4.12로 실행 중인 IBM Z®는 OADP(OpenShift API for Data Protection) 1.1.7을 사용하여 AWS S3 백업 위치 대상에 대해 성공적으로 테스트되었습니다. 이 테스트에는 AWS S3 대상만 포함되었지만 Red Hat은 OpenShift Container Platform 4.11 및 4.12를 사용하여 IBM Z® 실행을 지원하며 AWS가 아닌 모든 S3 백업 위치 대상에 대해 OADP 1.1.7도 지원합니다.
- OpenShift Container Platform 4.12, 4.13, 4.14, 4.15 및 OADP 1.2.3에서 실행 중인 IBM Z®는 AWS S3 백업 위치 대상에 대해 성공적으로 테스트되었습니다. 이 테스트는 AWS S3 대상만 포함했지만 Red Hat은 AWS가 아닌 모든 S3 백업 위치 대상에 대해 OpenShift Container Platform 4.12, 4.14, 4.15 및 OADP 1.2.3을 사용하여 IBM Z® 실행을 지원합니다.
- OpenShift Container Platform 4.12, 4.13, 4.14, 4.15 및 1.3.3에서 실행 중인 IBM Z®는 AWS S3 백업 위치 대상에 대해 성공적으로 테스트되었습니다. 이 테스트는 AWS S3 대상만 포함했지만 Red Hat은 AWS가 아닌 모든 S3 백업 위치 대상에 대해 OpenShift Container Platform 4.13 4.14 및 4.15 및 1.3.3을 사용하여 IBM Z® 실행을 지원합니다.
- OpenShift Container Platform 4.14, 4.15 및 4.16에서 실행 중인 IBM Z®는 AWS S3 백업 위치 대상에 대해 성공적으로 테스트되었습니다. 이 테스트는 AWS S3 대상만 포함했지만 Red Hat은 AWS가 아닌 모든 S3 백업 위치 대상에 대해 OpenShift Container Platform 4.14, 4.15, 4.16, 1.4.2를 사용하여 IBM Z® 실행을 지원합니다.
4.4.5.2.1. IBM Power(R) 및 IBM Z(R) 플랫폼을 사용하는 OADP의 알려진 문제 링크 복사링크가 클립보드에 복사되었습니다!
- 현재 IBM Power® 및 IBM Z® 플랫폼에 배포된 단일 노드 OpenShift 클러스터에 대한 백업 방법 제한 사항이 있습니다. 현재 NFS 스토리지만 이러한 플랫폼의 단일 노드 OpenShift 클러스터와 호환됩니다. 또한 Kopia 및 Restic과 같은 파일 시스템 백업(FSB) 메서드만 백업 및 복원 작업에 지원됩니다. 현재 이 문제에 대한 해결방법이 없습니다.
4.4.6. OADP 플러그인의 알려진 문제 링크 복사링크가 클립보드에 복사되었습니다!
다음 섹션에서는 OADP(OpenShift API for Data Protection) 플러그인의 알려진 문제에 대해 설명합니다.
4.4.6.1. 시크릿이 누락되어 이미지 스트림 백업 중 Velero 플러그인 패닉 링크 복사링크가 클립보드에 복사되었습니다!
백업 및 백업 스토리지 위치(BSL)가 데이터 보호 애플리케이션(DPA)의 범위 외부에서 관리되는 경우, OADP 컨트롤러는 DPA 조정에서 관련 oadp-<bsl_name>-<bsl_provider>-registry-secret
을 생성하지 않습니다.
백업이 실행되면 다음 패닉 오류와 함께 이미지 스트림 백업에 OpenShift Velero 플러그인이 패닉됩니다.
024-02-27T10:46:50.028951744Z time="2024-02-27T10:46:50Z" level=error msg="Error backing up item" backup=openshift-adp/<backup name> error="error executing custom action (groupResource=imagestreams.image.openshift.io, namespace=<BSL Name>, name=postgres): rpc error: code = Aborted desc = plugin panicked: runtime error: index out of range with length 1, stack trace: goroutine 94…
024-02-27T10:46:50.028951744Z time="2024-02-27T10:46:50Z" level=error msg="Error backing up item"
backup=openshift-adp/<backup name> error="error executing custom action (groupResource=imagestreams.image.openshift.io,
namespace=<BSL Name>, name=postgres): rpc error: code = Aborted desc = plugin panicked:
runtime error: index out of range with length 1, stack trace: goroutine 94…
4.4.6.1.1. 패닉 오류를 방지하기 위한 해결방법 링크 복사링크가 클립보드에 복사되었습니다!
Velero 플러그인 패닉 오류를 방지하려면 다음 단계를 수행합니다.
관련 라벨을 사용하여 사용자 지정 BSL에 레이블을 지정합니다.
oc label backupstoragelocations.velero.io <bsl_name> app.kubernetes.io/component=bsl
$ oc label backupstoragelocations.velero.io <bsl_name> app.kubernetes.io/component=bsl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 참고
oc -n openshift-adp get secret/oadp-<bsl_name>-<bsl_provider>-registry-secret -o json | jq -r '.data'
$ oc -n openshift-adp get secret/oadp-<bsl_name>-<bsl_provider>-registry-secret -o json | jq -r '.data'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4.6.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.4.6.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.5. 링크 복사링크가 클립보드에 복사되었습니다!
4.5.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.5.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f <obc_file_name>
$ oc create -f <obc_file_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc extract --to=- cm/test-obc
$ oc extract --to=- cm/test-obc
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc extract --to=- secret/test-obc
$ oc extract --to=- secret/test-obc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY
# AWS_ACCESS_KEY_ID ebYR....xLNMc # AWS_SECRET_ACCESS_KEY YXf...+NaCkdyC3QPym
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get route s3 -n openshift-storage
$ oc get route s3 -n openshift-storage
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>
[default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials
$ oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f <dpa_filename>
$ oc apply -f <dpa_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get dpa -o yaml
$ oc get dpa -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f <backup_cr_filename>
$ oc apply -f <backup_cr_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc describe backup test-backup -n openshift-adp
$ oc describe backup test-backup -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.5.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f <restore_cr_filename>
$ oc apply -f <restore_cr_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc describe restores.velero.io <restore_name> -n openshift-adp
$ oc describe restores.velero.io <restore_name> -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc project test-restore-application
$ oc project test-restore-application
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get pvc,svc,deployment,secret,configmap
$ oc get pvc,svc,deployment,secret,configmap
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.5.3.1. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f <obc_file_name>
$ oc create -f <obc_file_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc extract --to=- cm/test-obc
$ oc extract --to=- cm/test-obc
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc extract --to=- secret/test-obc
$ oc extract --to=- secret/test-obc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY
# AWS_ACCESS_KEY_ID ebYR....xLNMc # AWS_SECRET_ACCESS_KEY YXf...+NaCkdyC3QPym
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>
[default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials
$ oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get cm/openshift-service-ca.crt \ -o jsonpath='{.data.service-ca\.crt}' | base64 -w0; echo
$ oc get cm/openshift-service-ca.crt \ -o jsonpath='{.data.service-ca\.crt}' | base64 -w0; echo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0... ....gpwOHMwaG9CRmk5a3....FLS0tLS0K
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0... ....gpwOHMwaG9CRmk5a3....FLS0tLS0K
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f <dpa_filename>
$ oc apply -f <dpa_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get dpa -o yaml
$ oc get dpa -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f <backup_cr_filename>
$ oc apply -f <backup_cr_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc describe backup test-backup -n openshift-adp
$ oc describe backup test-backup -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.4. 링크 복사링크가 클립보드에 복사되었습니다!
4.5.4.1. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f <dpa_filename>
$ oc apply -f <dpa_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get dpa -o yaml
$ oc get dpa -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f <backup_cr_filename>
$ oc apply -f <backup_cr_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc describe backups.velero.io test-backup -n openshift-adp
$ oc describe backups.velero.io test-backup -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.1.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.1.1.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.1.1.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.1.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.1.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.1.4. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.1.5. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.1.5.1. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
|
|
|
|
|
|
4.6.1.5.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.6.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.3.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.3.2. 링크 복사링크가 클립보드에 복사되었습니다!
BUCKET=<your_bucket>
$ BUCKET=<your_bucket>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow REGION=<your_region>
$ REGION=<your_region>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow aws s3api create-bucket \ --bucket $BUCKET \ --region $REGION \ --create-bucket-configuration LocationConstraint=$REGION
$ aws s3api create-bucket \ --bucket $BUCKET \ --region $REGION \ --create-bucket-configuration LocationConstraint=$REGION
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow aws iam create-user --user-name velero
$ aws iam create-user --user-name velero
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow aws iam put-user-policy \ --user-name velero \ --policy-name velero \ --policy-document file://velero-policy.json
$ aws iam put-user-policy \ --user-name velero \ --policy-name velero \ --policy-document file://velero-policy.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow aws iam create-access-key --user-name velero
$ aws iam create-access-key --user-name velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat << EOF > ./credentials-velero [default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY> EOF
$ cat << EOF > ./credentials-velero [default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY> EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.3.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.3.3.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.3.3.2. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.3.3.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.3.3.4. 링크 복사링크가 클립보드에 복사되었습니다!
dd if=/dev/urandom bs=1 count=32 > sse.key
$ dd if=/dev/urandom bs=1 count=32 > sse.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat sse.key | base64 > sse_encoded.key
$ cat sse.key | base64 > sse_encoded.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ln -s sse_encoded.key customer-key
$ ln -s sse_encoded.key customer-key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc create secret generic cloud-credentials --namespace openshift-adp --from-file cloud=<path>/openshift_aws_credentials,customer-key=<path>/sse_encoded.key
$ oc create secret generic cloud-credentials --namespace openshift-adp --from-file cloud=<path>/openshift_aws_credentials,customer-key=<path>/sse_encoded.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 주의
echo "encrypt me please" > test.txt
$ echo "encrypt me please" > test.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow s3cmd get s3://<bucket>/test.txt test.txt
$ s3cmd get s3://<bucket>/test.txt test.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat downloaded.txt
$ cat downloaded.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow encrypt me please
encrypt me please
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.3.3.4.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.3.4. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.3.4.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.3.4.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.3.4.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
alias velero='oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'
$ alias velero='oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA_CERT=$(oc -n openshift-adp get dataprotectionapplications.oadp.openshift.io <dpa-name> -o jsonpath='{.spec.backupLocations[0].velero.objectStorage.caCert}') [[ -n $CA_CERT ]] && echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat > /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
$ CA_CERT=$(oc -n openshift-adp get dataprotectionapplications.oadp.openshift.io <dpa-name> -o jsonpath='{.spec.backupLocations[0].velero.objectStorage.caCert}') $ [[ -n $CA_CERT ]] && echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat > /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero describe backup <backup_name> --details --cacert /tmp/<your_cacert>.txt
$ velero describe backup <backup_name> --details --cacert /tmp/<your_cacert>.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero backup logs <backup_name> --cacert /tmp/<your_cacert.txt>
$ velero backup logs <backup_name> --cacert /tmp/<your_cacert.txt>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "ls /tmp/your-cacert.txt"
$ oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "ls /tmp/your-cacert.txt" /tmp/your-cacert.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.3.5. 링크 복사링크가 클립보드에 복사되었습니다!
- 참고
oc get all -n openshift-adp
$ oc get all -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
$ oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow {"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.3.5.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
$ oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
4.6.3.6. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.3.7. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.3.8. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.3.8.1. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.3.8.2. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.4. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.4.1. 링크 복사링크가 클립보드에 복사되었습니다!
ibmcloud plugin install cos -f
$ ibmcloud plugin install cos -f
Copy to Clipboard Copied! Toggle word wrap Toggle overflow BUCKET=<bucket_name>
$ BUCKET=<bucket_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow REGION=<bucket_region>
$ REGION=<bucket_region>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud resource group-create <resource_group_name>
$ ibmcloud resource group-create <resource_group_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud target -g <resource_group_name>
$ ibmcloud target -g <resource_group_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud target
$ ibmcloud target
Copy to Clipboard Copied! Toggle word wrap Toggle overflow API endpoint: https://cloud.ibm.com Region: User: test-user Account: Test Account (fb6......e95) <-> 2...122 Resource group: Default
API endpoint: https://cloud.ibm.com Region: User: test-user Account: Test Account (fb6......e95) <-> 2...122 Resource group: Default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RESOURCE_GROUP=<resource_group>
$ RESOURCE_GROUP=<resource_group>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud resource service-instance-create \ <service_instance_name> \ <service_name> \ <service_plan> \ <region_name>
$ ibmcloud resource service-instance-create \ <service_instance_name> \
1 <service_name> \
2 <service_plan> \
3 <region_name>
4 Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud resource service-instance-create test-service-instance cloud-object-storage \ standard \ global \ -d premium-global-deployment
$ ibmcloud resource service-instance-create test-service-instance cloud-object-storage \
1 standard \ global \ -d premium-global-deployment
2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow SERVICE_INSTANCE_ID=$(ibmcloud resource service-instance test-service-instance --output json | jq -r '.[0].id')
$ SERVICE_INSTANCE_ID=$(ibmcloud resource service-instance test-service-instance --output json | jq -r '.[0].id')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud cos bucket-create \//
$ ibmcloud cos bucket-create \// --bucket $BUCKET \// --ibm-service-instance-id $SERVICE_INSTANCE_ID \// --region $REGION
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud resource service-key-create test-key Writer --instance-name test-service-instance --parameters {\"HMAC\":true}
$ ibmcloud resource service-key-create test-key Writer --instance-name test-service-instance --parameters {\"HMAC\":true}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat > credentials-velero << __EOF__ [default] aws_access_key_id=$(ibmcloud resource service-key test-key -o json | jq -r '.[0].credentials.cos_hmac_keys.access_key_id') aws_secret_access_key=$(ibmcloud resource service-key test-key -o json | jq -r '.[0].credentials.cos_hmac_keys.secret_access_key') __EOF__
$ cat > credentials-velero << __EOF__ [default] aws_access_key_id=$(ibmcloud resource service-key test-key -o json | jq -r '.[0].credentials.cos_hmac_keys.access_key_id') aws_secret_access_key=$(ibmcloud resource service-key test-key -o json | jq -r '.[0].credentials.cos_hmac_keys.secret_access_key') __EOF__
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.4.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.4.3. 링크 복사링크가 클립보드에 복사되었습니다!
oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret generic <custom_secret> -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic <custom_secret> -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.4.4. 링크 복사링크가 클립보드에 복사되었습니다!
- 참고
oc get all -n openshift-adp
$ oc get all -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
$ oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow {"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.4.5. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.4.6. 링크 복사링크가 클립보드에 복사되었습니다!
oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
$ oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
4.6.4.7. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.4.8. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.4.9. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.5. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.5.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.5.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.5.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc create secret generic cloud-credentials-azure -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic cloud-credentials-azure -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.5.2.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc create secret generic cloud-credentials-azure -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic cloud-credentials-azure -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret generic <custom_secret> -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic <custom_secret> -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.5.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.5.3.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.5.3.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.5.3.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
alias velero='oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'
$ alias velero='oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA_CERT=$(oc -n openshift-adp get dataprotectionapplications.oadp.openshift.io <dpa-name> -o jsonpath='{.spec.backupLocations[0].velero.objectStorage.caCert}') [[ -n $CA_CERT ]] && echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat > /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
$ CA_CERT=$(oc -n openshift-adp get dataprotectionapplications.oadp.openshift.io <dpa-name> -o jsonpath='{.spec.backupLocations[0].velero.objectStorage.caCert}') $ [[ -n $CA_CERT ]] && echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat > /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero describe backup <backup_name> --details --cacert /tmp/<your_cacert>.txt
$ velero describe backup <backup_name> --details --cacert /tmp/<your_cacert>.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero backup logs <backup_name> --cacert /tmp/<your_cacert.txt>
$ velero backup logs <backup_name> --cacert /tmp/<your_cacert.txt>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "ls /tmp/your-cacert.txt"
$ oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "ls /tmp/your-cacert.txt" /tmp/your-cacert.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.5.4. 링크 복사링크가 클립보드에 복사되었습니다!
- 참고
oc get all -n openshift-adp
$ oc get all -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
$ oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow {"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.5.5. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.5.5.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
$ oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
4.6.5.5.2. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.5.5.3. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.6. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.6.1. 링크 복사링크가 클립보드에 복사되었습니다!
gcloud auth login
$ gcloud auth login
Copy to Clipboard Copied! Toggle word wrap Toggle overflow BUCKET=<bucket>
$ BUCKET=<bucket>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow gsutil mb gs://$BUCKET/
$ gsutil mb gs://$BUCKET/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PROJECT_ID=$(gcloud config get-value project)
$ PROJECT_ID=$(gcloud config get-value project)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud iam service-accounts create velero \ --display-name "Velero service account"
$ gcloud iam service-accounts create velero \ --display-name "Velero service account"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud iam service-accounts list
$ gcloud iam service-accounts list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \ --filter="displayName:Velero service account" \ --format 'value(email)')
$ SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \ --filter="displayName:Velero service account" \ --format 'value(email)')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud iam roles create velero.server \ --project $PROJECT_ID \ --title "Velero Server" \ --permissions "$(IFS=","; echo "${ROLE_PERMISSIONS[*]}")"
$ gcloud iam roles create velero.server \ --project $PROJECT_ID \ --title "Velero Server" \ --permissions "$(IFS=","; echo "${ROLE_PERMISSIONS[*]}")"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:$SERVICE_ACCOUNT_EMAIL \ --role projects/$PROJECT_ID/roles/velero.server
$ gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:$SERVICE_ACCOUNT_EMAIL \ --role projects/$PROJECT_ID/roles/velero.server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gsutil iam ch serviceAccount:$SERVICE_ACCOUNT_EMAIL:objectAdmin gs://${BUCKET}
$ gsutil iam ch serviceAccount:$SERVICE_ACCOUNT_EMAIL:objectAdmin gs://${BUCKET}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud iam service-accounts keys create credentials-velero \ --iam-account $SERVICE_ACCOUNT_EMAIL
$ gcloud iam service-accounts keys create credentials-velero \ --iam-account $SERVICE_ACCOUNT_EMAIL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.6.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.6.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc create secret generic cloud-credentials-gcp -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic cloud-credentials-gcp -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.6.2.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc create secret generic cloud-credentials-gcp -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic cloud-credentials-gcp -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret generic <custom_secret> -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic <custom_secret> -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.6.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.6.3.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.6.3.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.6.3.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
alias velero='oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'
$ alias velero='oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA_CERT=$(oc -n openshift-adp get dataprotectionapplications.oadp.openshift.io <dpa-name> -o jsonpath='{.spec.backupLocations[0].velero.objectStorage.caCert}') [[ -n $CA_CERT ]] && echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat > /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
$ CA_CERT=$(oc -n openshift-adp get dataprotectionapplications.oadp.openshift.io <dpa-name> -o jsonpath='{.spec.backupLocations[0].velero.objectStorage.caCert}') $ [[ -n $CA_CERT ]] && echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat > /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero describe backup <backup_name> --details --cacert /tmp/<your_cacert>.txt
$ velero describe backup <backup_name> --details --cacert /tmp/<your_cacert>.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero backup logs <backup_name> --cacert /tmp/<your_cacert.txt>
$ velero backup logs <backup_name> --cacert /tmp/<your_cacert.txt>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "ls /tmp/your-cacert.txt"
$ oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "ls /tmp/your-cacert.txt" /tmp/your-cacert.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.6.4. 링크 복사링크가 클립보드에 복사되었습니다!
mkdir -p oadp-credrequest
$ mkdir -p oadp-credrequest
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create namespace <OPERATOR_INSTALL_NS>
$ oc create namespace <OPERATOR_INSTALL_NS>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f manifests/openshift-adp-cloud-credentials-gcp-credentials.yaml
$ oc apply -f manifests/openshift-adp-cloud-credentials-gcp-credentials.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.6.4.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.6.5. 링크 복사링크가 클립보드에 복사되었습니다!
- 참고
oc get all -n openshift-adp
$ oc get all -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
$ oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow {"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.6.6. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.6.6.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
$ oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
4.6.6.6.2. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.6.6.3. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.7. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.7.1. 링크 복사링크가 클립보드에 복사되었습니다!
cat << EOF > ./credentials-velero [default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY> EOF
$ cat << EOF > ./credentials-velero [default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY> EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.7.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.7.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.7.2.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret generic <custom_secret> -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic <custom_secret> -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.7.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.7.3.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.7.3.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.7.3.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
alias velero='oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'
$ alias velero='oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA_CERT=$(oc -n openshift-adp get dataprotectionapplications.oadp.openshift.io <dpa-name> -o jsonpath='{.spec.backupLocations[0].velero.objectStorage.caCert}') [[ -n $CA_CERT ]] && echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat > /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
$ CA_CERT=$(oc -n openshift-adp get dataprotectionapplications.oadp.openshift.io <dpa-name> -o jsonpath='{.spec.backupLocations[0].velero.objectStorage.caCert}') $ [[ -n $CA_CERT ]] && echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat > /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero describe backup <backup_name> --details --cacert /tmp/<your_cacert>.txt
$ velero describe backup <backup_name> --details --cacert /tmp/<your_cacert>.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero backup logs <backup_name> --cacert /tmp/<your_cacert.txt>
$ velero backup logs <backup_name> --cacert /tmp/<your_cacert.txt>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "ls /tmp/your-cacert.txt"
$ oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "ls /tmp/your-cacert.txt" /tmp/your-cacert.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.7.4. 링크 복사링크가 클립보드에 복사되었습니다!
- 참고
oc get all -n openshift-adp
$ oc get all -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
$ oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow {"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.7.5. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.7.5.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
$ oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
4.6.7.5.2. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.7.5.3. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.8. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.8.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.8.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.8.1.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret generic <custom_secret> -n openshift-adp --from-file cloud=credentials-velero
$ oc create secret generic <custom_secret> -n openshift-adp --from-file cloud=credentials-velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.8.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.8.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.8.2.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.8.2.1.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
4.6.8.2.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.8.2.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
alias velero='oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'
$ alias velero='oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA_CERT=$(oc -n openshift-adp get dataprotectionapplications.oadp.openshift.io <dpa-name> -o jsonpath='{.spec.backupLocations[0].velero.objectStorage.caCert}') [[ -n $CA_CERT ]] && echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat > /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
$ CA_CERT=$(oc -n openshift-adp get dataprotectionapplications.oadp.openshift.io <dpa-name> -o jsonpath='{.spec.backupLocations[0].velero.objectStorage.caCert}') $ [[ -n $CA_CERT ]] && echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat > /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero describe backup <backup_name> --details --cacert /tmp/<your_cacert>.txt
$ velero describe backup <backup_name> --details --cacert /tmp/<your_cacert>.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero backup logs <backup_name> --cacert /tmp/<your_cacert.txt>
$ velero backup logs <backup_name> --cacert /tmp/<your_cacert.txt>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "ls /tmp/your-cacert.txt"
$ oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "ls /tmp/your-cacert.txt" /tmp/your-cacert.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.8.3. 링크 복사링크가 클립보드에 복사되었습니다!
- 참고
oc get all -n openshift-adp
$ oc get all -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
$ oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow {"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.8.4. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.8.4.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
$ oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
4.6.8.4.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.8.4.3. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.8.4.4. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.9. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.9.1. 링크 복사링크가 클립보드에 복사되었습니다!
- 주의
4.6.9.2. 링크 복사링크가 클립보드에 복사되었습니다!
- 참고
oc get all -n openshift-adp
$ oc get all -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
$ oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow {"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 1s 3d16h true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.9.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.9.4. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.9.5. 링크 복사링크가 클립보드에 복사되었습니다!
oc label vm <vm_name> app=<vm_name> -n openshift-adp
$ oc label vm <vm_name> app=<vm_name> -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f <restore_cr_file_name>
$ oc apply -f <restore_cr_file_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.9.6. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.9.6.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
$ oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
4.6.9.7. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.6.10. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.10.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.10.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=<aws_credentials_file_name>
$ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=<aws_credentials_file_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret generic mcg-secret -n openshift-adp --from-file cloud=<MCG_credentials_file_name>
$ oc create secret generic mcg-secret -n openshift-adp --from-file cloud=<MCG_credentials_file_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f <dpa_file_name>
$ oc create -f <dpa_file_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get dpa -o yaml
$ oc get dpa -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get bsl
$ oc get bsl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PHASE LAST VALIDATED AGE DEFAULT aws Available 5s 3m28s true mcg Available 5s 3m28s
NAME PHASE LAST VALIDATED AGE DEFAULT aws Available 5s 3m28s true mcg Available 5s 3m28s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 참고
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f <backup_file_name>
$ oc apply -f <backup_file_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backups.velero.io <backup_name> -o yaml
$ oc get backups.velero.io <backup_name> -o yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f <backup_file_name>
$ oc apply -f <backup_file_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backups.velero.io <backup_name> -o yaml
$ oc get backups.velero.io <backup_name> -o yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.11. 링크 복사링크가 클립보드에 복사되었습니다!
4.6.11.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.7. 링크 복사링크가 클립보드에 복사되었습니다!
4.7.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.8. 링크 복사링크가 클립보드에 복사되었습니다!
4.8.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.8.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
velero backup create <backup-name> --snapshot-volumes false
$ velero backup create <backup-name> --snapshot-volumes false
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero describe backup <backup_name> --details
$ velero describe backup <backup_name> --details
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero restore create --from-backup <backup-name>
$ velero restore create --from-backup <backup-name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요velero describe restore <restore_name> --details
$ velero describe restore <restore_name> --details
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.8.1.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.8.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAMESPACE NAME PHASE LAST VALIDATED AGE DEFAULT openshift-adp velero-sample-1 Available 11s 31m
NAMESPACE NAME PHASE LAST VALIDATED AGE DEFAULT openshift-adp velero-sample-1 Available 11s 31m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backups.velero.io -n openshift-adp <backup> -o jsonpath='{.status.phase}'
$ oc get backups.velero.io -n openshift-adp <backup> -o jsonpath='{.status.phase}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.8.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.8.4. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.8.5. 링크 복사링크가 클립보드에 복사되었습니다!
4.8.6. 링크 복사링크가 클립보드에 복사되었습니다!
oc get backupStorageLocations -n openshift-adp
$ oc get backupStorageLocations -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAMESPACE NAME PHASE LAST VALIDATED AGE DEFAULT openshift-adp velero-sample-1 Available 11s 31m
NAMESPACE NAME PHASE LAST VALIDATED AGE DEFAULT openshift-adp velero-sample-1 Available 11s 31m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고schedule: "*/10 * * * *"
schedule: "*/10 * * * *"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get schedule -n openshift-adp <schedule> -o jsonpath='{.status.phase}'
$ oc get schedule -n openshift-adp <schedule> -o jsonpath='{.status.phase}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.8.7. 링크 복사링크가 클립보드에 복사되었습니다!
4.8.7.1. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f <deletebackuprequest_cr_filename>
$ oc apply -f <deletebackuprequest_cr_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.8.7.2. 링크 복사링크가 클립보드에 복사되었습니다!
velero backup delete <backup_name> -n openshift-adp
$ velero backup delete <backup_name> -n openshift-adp
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.8.7.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.8.7.3.1. 링크 복사링크가 클립보드에 복사되었습니다!
pod/repo-maintain-job-173...2527-2nbls 0/1 Completed 0 168m pod/repo-maintain-job-173....536-fl9tm 0/1 Completed 0 108m pod/repo-maintain-job-173...2545-55ggx 0/1 Completed 0 48m
pod/repo-maintain-job-173...2527-2nbls 0/1 Completed 0 168m
pod/repo-maintain-job-173....536-fl9tm 0/1 Completed 0 108m
pod/repo-maintain-job-173...2545-55ggx 0/1 Completed 0 48m
not due for full maintenance cycle until 2024-00-00 18:29:4
not due for full maintenance cycle until 2024-00-00 18:29:4
4.8.7.4. 링크 복사링크가 클립보드에 복사되었습니다!
oc get backuprepositories.velero.io -n openshift-adp
$ oc get backuprepositories.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete backuprepository <backup_repository_name> -n openshift-adp
$ oc delete backuprepository <backup_repository_name> -n openshift-adp
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.8.8. 링크 복사링크가 클립보드에 복사되었습니다!
4.8.8.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.9. 링크 복사링크가 클립보드에 복사되었습니다!
4.9.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.9.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
velero backup create <backup-name> --snapshot-volumes false
$ velero backup create <backup-name> --snapshot-volumes false
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero describe backup <backup_name> --details
$ velero describe backup <backup_name> --details
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero restore create --from-backup <backup-name>
$ velero restore create --from-backup <backup-name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요velero describe restore <restore_name> --details
$ velero describe restore <restore_name> --details
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.9.1.2. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get restores.velero.io -n openshift-adp <restore> -o jsonpath='{.status.phase}'
$ oc get restores.velero.io -n openshift-adp <restore> -o jsonpath='{.status.phase}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get all -n <namespace>
$ oc get all -n <namespace>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow bash dc-restic-post-restore.sh -> dc-post-restore.sh
$ bash dc-restic-post-restore.sh -> dc-post-restore.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고예 4.1.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.9.1.3. 링크 복사링크가 클립보드에 복사되었습니다!
velero restore create <RESTORE_NAME> \ --from-backup <BACKUP_NAME> \ --exclude-resources=deployment.apps
$ velero restore create <RESTORE_NAME> \ --from-backup <BACKUP_NAME> \ --exclude-resources=deployment.apps
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero restore create <RESTORE_NAME> \ --from-backup <BACKUP_NAME> \ --include-resources=deployment.apps
$ velero restore create <RESTORE_NAME> \ --from-backup <BACKUP_NAME> \ --include-resources=deployment.apps
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.10. 링크 복사링크가 클립보드에 복사되었습니다!
4.10.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.10.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
- 중요
Copy to Clipboard Copied! Toggle word wrap Toggle overflow POLICY_ARN=$(aws iam list-policies --query "Policies[?PolicyName=='RosaOadpVer1'].{ARN:Arn}" --output text)
$ POLICY_ARN=$(aws iam list-policies --query "Policies[?PolicyName=='RosaOadpVer1'].{ARN:Arn}" --output text)
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 참고
Copy to Clipboard Copied! Toggle word wrap Toggle overflow echo ${POLICY_ARN}
$ echo ${POLICY_ARN}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROLE_ARN=$(aws iam create-role --role-name \ "${ROLE_NAME}" \ --assume-role-policy-document file://${SCRATCH}/trust-policy.json \ --tags Key=rosa_cluster_id,Value=${ROSA_CLUSTER_ID} Key=rosa_openshift_version,Value=${CLUSTER_VERSION} Key=rosa_role_prefix,Value=ManagedOpenShift Key=operator_namespace,Value=openshift-adp Key=operator_name,Value=openshift-oadp \ --query Role.Arn --output text)
$ ROLE_ARN=$(aws iam create-role --role-name \ "${ROLE_NAME}" \ --assume-role-policy-document file://${SCRATCH}/trust-policy.json \ --tags Key=rosa_cluster_id,Value=${ROSA_CLUSTER_ID} Key=rosa_openshift_version,Value=${CLUSTER_VERSION} Key=rosa_role_prefix,Value=ManagedOpenShift Key=operator_namespace,Value=openshift-adp Key=operator_name,Value=openshift-oadp \ --query Role.Arn --output text)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow echo ${ROLE_ARN}
$ echo ${ROLE_ARN}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
aws iam attach-role-policy --role-name "${ROLE_NAME}" \ --policy-arn ${POLICY_ARN}
$ aws iam attach-role-policy --role-name "${ROLE_NAME}" \ --policy-arn ${POLICY_ARN}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.10.1.2. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create namespace openshift-adp
$ oc create namespace openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-adp create secret generic cloud-credentials \ --from-file=${SCRATCH}/credentials
$ oc -n openshift-adp create secret generic cloud-credentials \ --from-file=${SCRATCH}/credentials
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get pvc -n <namespace>
$ oc get pvc -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE applog Bound pvc-351791ae-b6ab-4e8b-88a4-30f73caf5ef8 1Gi RWO gp3-csi 4d19h mysql Bound pvc-16b8e009-a20a-4379-accc-bc81fedd0621 1Gi RWO gp3-csi 4d19h
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE applog Bound pvc-351791ae-b6ab-4e8b-88a4-30f73caf5ef8 1Gi RWO gp3-csi 4d19h mysql Bound pvc-16b8e009-a20a-4379-accc-bc81fedd0621 1Gi RWO gp3-csi 4d19h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get storageclass
$ oc get storageclass
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE gp2 kubernetes.io/aws-ebs Delete WaitForFirstConsumer true 4d21h gp2-csi ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h gp3 ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h gp3-csi (default) ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE gp2 kubernetes.io/aws-ebs Delete WaitForFirstConsumer true 4d21h gp2-csi ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h gp3 ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h gp3-csi (default) ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고
nodeAgent: enable: false uploaderType: restic
nodeAgent:
enable: false
uploaderType: restic
restic: enable: false
restic:
enable: false
4.10.1.3. 링크 복사링크가 클립보드에 복사되었습니다!
oc get sub -o yaml redhat-oadp-operator
$ oc get sub -o yaml redhat-oadp-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch subscription redhat-oadp-operator -p '{"spec": {"config": {"env": [{"name": "ROLEARN", "value": "<role_arn>"}]}}}' --type='merge'
$ oc patch subscription redhat-oadp-operator -p '{"spec": {"config": {"env": [{"name": "ROLEARN", "value": "<role_arn>"}]}}}' --type='merge'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get secret cloud-credentials -o jsonpath='{.data.credentials}' | base64 -d
$ oc get secret cloud-credentials -o jsonpath='{.data.credentials}' | base64 -d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [default] sts_regional_endpoints = regional role_arn = arn:aws:iam::160.....6956:role/oadprosa.....8wlf web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token
[default] sts_regional_endpoints = regional role_arn = arn:aws:iam::160.....6956:role/oadprosa.....8wlf web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f <dpa_manifest_file>
$ oc create -f <dpa_manifest_file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get dpa -n openshift-adp -o yaml
$ oc get dpa -n openshift-adp -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PHASE LAST VALIDATED AGE DEFAULT ts-dpa-1 Available 3s 6s true
NAME PHASE LAST VALIDATED AGE DEFAULT ts-dpa-1 Available 3s 6s true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.10.1.4. 링크 복사링크가 클립보드에 복사되었습니다!
4.10.1.4.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc create namespace hello-world
$ oc create namespace hello-world
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc new-app -n hello-world --image=docker.io/openshift/hello-openshift
$ oc new-app -n hello-world --image=docker.io/openshift/hello-openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc expose service/hello-openshift -n hello-world
$ oc expose service/hello-openshift -n hello-world
Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`
$ curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Hello OpenShift!
Hello OpenShift!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow watch "oc -n openshift-adp get backup hello-world -o json | jq .status"
$ watch "oc -n openshift-adp get backup hello-world -o json | jq .status"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete ns hello-world
$ oc delete ns hello-world
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow watch "oc -n openshift-adp get restore hello-world -o json | jq .status"
$ watch "oc -n openshift-adp get restore hello-world -o json | jq .status"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n hello-world get pods
$ oc -n hello-world get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME READY STATUS RESTARTS AGE hello-openshift-9f885f7c6-kdjpj 1/1 Running 0 90s
NAME READY STATUS RESTARTS AGE hello-openshift-9f885f7c6-kdjpj 1/1 Running 0 90s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`
$ curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Hello OpenShift!
Hello OpenShift!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.10.1.4.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc delete ns hello-world
$ oc delete ns hello-world
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-adp delete dpa ${CLUSTER_NAME}-dpa
$ oc -n openshift-adp delete dpa ${CLUSTER_NAME}-dpa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-adp delete cloudstorage ${CLUSTER_NAME}-oadp
$ oc -n openshift-adp delete cloudstorage ${CLUSTER_NAME}-oadp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 주의oc -n openshift-adp patch cloudstorage ${CLUSTER_NAME}-oadp -p '{"metadata":{"finalizers":null}}' --type=merge
$ oc -n openshift-adp patch cloudstorage ${CLUSTER_NAME}-oadp -p '{"metadata":{"finalizers":null}}' --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-adp delete subscription oadp-operator
$ oc -n openshift-adp delete subscription oadp-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete ns openshift-adp
$ oc delete ns openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete backups.velero.io hello-world
$ oc delete backups.velero.io hello-world
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero backup delete hello-world
$ velero backup delete hello-world
Copy to Clipboard Copied! Toggle word wrap Toggle overflow for CRD in `oc get crds | grep velero | awk '{print $1}'`; do oc delete crd $CRD; done
$ for CRD in `oc get crds | grep velero | awk '{print $1}'`; do oc delete crd $CRD; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow aws s3 rm s3://${CLUSTER_NAME}-oadp --recursive
$ aws s3 rm s3://${CLUSTER_NAME}-oadp --recursive
Copy to Clipboard Copied! Toggle word wrap Toggle overflow aws s3api delete-bucket --bucket ${CLUSTER_NAME}-oadp
$ aws s3api delete-bucket --bucket ${CLUSTER_NAME}-oadp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow aws iam detach-role-policy --role-name "${ROLE_NAME}" --policy-arn "${POLICY_ARN}"
$ aws iam detach-role-policy --role-name "${ROLE_NAME}" --policy-arn "${POLICY_ARN}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow aws iam delete-role --role-name "${ROLE_NAME}"
$ aws iam delete-role --role-name "${ROLE_NAME}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.11. 링크 복사링크가 클립보드에 복사되었습니다!
4.11.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.11.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
export CLUSTER_NAME= <AWS_cluster_name>
$ export CLUSTER_NAME= <AWS_cluster_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow export SCRATCH="/tmp/${CLUSTER_NAME}/oadp"
$ export SCRATCH="/tmp/${CLUSTER_NAME}/oadp" mkdir -p ${SCRATCH}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow echo "Cluster ID: ${AWS_CLUSTER_ID}, Region: ${REGION}, OIDC Endpoint:
$ echo "Cluster ID: ${AWS_CLUSTER_ID}, Region: ${REGION}, OIDC Endpoint: ${OIDC_ENDPOINT}, AWS Account ID: ${AWS_ACCOUNT_ID}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow export POLICY_NAME="OadpVer1"
$ export POLICY_NAME="OadpVer1"
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow POLICY_ARN=$(aws iam list-policies --query "Policies[?PolicyName=='$POLICY_NAME'].{ARN:Arn}" --output text)
$ POLICY_ARN=$(aws iam list-policies --query "Policies[?PolicyName=='$POLICY_NAME'].{ARN:Arn}" --output text)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 참고
Copy to Clipboard Copied! Toggle word wrap Toggle overflow echo ${POLICY_ARN}
$ echo ${POLICY_ARN}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROLE_ARN=$(aws iam create-role --role-name \ "${ROLE_NAME}" \ --assume-role-policy-document file://${SCRATCH}/trust-policy.json \ --tags Key=cluster_id,Value=${AWS_CLUSTER_ID} Key=openshift_version,Value=${CLUSTER_VERSION} Key=operator_namespace,Value=openshift-adp Key=operator_name,Value=oadp --query Role.Arn --output text)
$ ROLE_ARN=$(aws iam create-role --role-name \ "${ROLE_NAME}" \ --assume-role-policy-document file://${SCRATCH}/trust-policy.json \ --tags Key=cluster_id,Value=${AWS_CLUSTER_ID} Key=openshift_version,Value=${CLUSTER_VERSION} Key=operator_namespace,Value=openshift-adp Key=operator_name,Value=oadp --query Role.Arn --output text)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow echo ${ROLE_ARN}
$ echo ${ROLE_ARN}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
aws iam attach-role-policy --role-name "${ROLE_NAME}" --policy-arn ${POLICY_ARN}
$ aws iam attach-role-policy --role-name "${ROLE_NAME}" --policy-arn ${POLICY_ARN}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.11.1.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.11.1.2. 링크 복사링크가 클립보드에 복사되었습니다!
cat <<EOF > ${SCRATCH}/credentials [default] role_arn = ${ROLE_ARN} web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token EOF
$ cat <<EOF > ${SCRATCH}/credentials [default] role_arn = ${ROLE_ARN} web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create namespace openshift-adp
$ oc create namespace openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-adp create secret generic cloud-credentials \ --from-file=${SCRATCH}/credentials
$ oc -n openshift-adp create secret generic cloud-credentials \ --from-file=${SCRATCH}/credentials
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get pvc -n <namespace>
$ oc get pvc -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE applog Bound pvc-351791ae-b6ab-4e8b-88a4-30f73caf5ef8 1Gi RWO gp3-csi 4d19h mysql Bound pvc-16b8e009-a20a-4379-accc-bc81fedd0621 1Gi RWO gp3-csi 4d19h
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE applog Bound pvc-351791ae-b6ab-4e8b-88a4-30f73caf5ef8 1Gi RWO gp3-csi 4d19h mysql Bound pvc-16b8e009-a20a-4379-accc-bc81fedd0621 1Gi RWO gp3-csi 4d19h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get storageclass
$ oc get storageclass
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE gp2 kubernetes.io/aws-ebs Delete WaitForFirstConsumer true 4d21h gp2-csi ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h gp3 ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h gp3-csi (default) ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE gp2 kubernetes.io/aws-ebs Delete WaitForFirstConsumer true 4d21h gp2-csi ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h gp3 ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h gp3-csi (default) ebs.csi.aws.com Delete WaitForFirstConsumer true 4d21h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고Copy to Clipboard Copied! Toggle word wrap Toggle overflow
nodeAgent: enable: false uploaderType: restic
nodeAgent:
enable: false
uploaderType: restic
restic: enable: false
restic:
enable: false
4.11.1.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.11.1.3.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc create namespace hello-world
$ oc create namespace hello-world
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc new-app -n hello-world --image=docker.io/openshift/hello-openshift
$ oc new-app -n hello-world --image=docker.io/openshift/hello-openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc expose service/hello-openshift -n hello-world
$ oc expose service/hello-openshift -n hello-world
Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`
$ curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Hello OpenShift!
Hello OpenShift!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow watch "oc -n openshift-adp get backup hello-world -o json | jq .status"
$ watch "oc -n openshift-adp get backup hello-world -o json | jq .status"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete ns hello-world
$ oc delete ns hello-world
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow watch "oc -n openshift-adp get restore hello-world -o json | jq .status"
$ watch "oc -n openshift-adp get restore hello-world -o json | jq .status"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n hello-world get pods
$ oc -n hello-world get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME READY STATUS RESTARTS AGE hello-openshift-9f885f7c6-kdjpj 1/1 Running 0 90s
NAME READY STATUS RESTARTS AGE hello-openshift-9f885f7c6-kdjpj 1/1 Running 0 90s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`
$ curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Hello OpenShift!
Hello OpenShift!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.11.1.3.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc delete ns hello-world
$ oc delete ns hello-world
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-adp delete dpa ${CLUSTER_NAME}-dpa
$ oc -n openshift-adp delete dpa ${CLUSTER_NAME}-dpa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-adp delete cloudstorage ${CLUSTER_NAME}-oadp
$ oc -n openshift-adp delete cloudstorage ${CLUSTER_NAME}-oadp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요oc -n openshift-adp patch cloudstorage ${CLUSTER_NAME}-oadp -p '{"metadata":{"finalizers":null}}' --type=merge
$ oc -n openshift-adp patch cloudstorage ${CLUSTER_NAME}-oadp -p '{"metadata":{"finalizers":null}}' --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-adp delete subscription oadp-operator
$ oc -n openshift-adp delete subscription oadp-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete ns openshift-adp
$ oc delete ns openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete backups.velero.io hello-world
$ oc delete backups.velero.io hello-world
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero backup delete hello-world
$ velero backup delete hello-world
Copy to Clipboard Copied! Toggle word wrap Toggle overflow for CRD in `oc get crds | grep velero | awk '{print $1}'`; do oc delete crd $CRD; done
$ for CRD in `oc get crds | grep velero | awk '{print $1}'`; do oc delete crd $CRD; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow aws s3 rm s3://${CLUSTER_NAME}-oadp --recursive
$ aws s3 rm s3://${CLUSTER_NAME}-oadp --recursive
Copy to Clipboard Copied! Toggle word wrap Toggle overflow aws s3api delete-bucket --bucket ${CLUSTER_NAME}-oadp
$ aws s3api delete-bucket --bucket ${CLUSTER_NAME}-oadp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow aws iam detach-role-policy --role-name "${ROLE_NAME}" --policy-arn "${POLICY_ARN}"
$ aws iam detach-role-policy --role-name "${ROLE_NAME}" --policy-arn "${POLICY_ARN}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow aws iam delete-role --role-name "${ROLE_NAME}"
$ aws iam delete-role --role-name "${ROLE_NAME}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12. 링크 복사링크가 클립보드에 복사되었습니다!
4.12.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.12.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f dpa.yaml
$ oc create -f dpa.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.1.2. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고oc create -f backup.yaml
$ oc create -f backup.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f backup-secret.yaml
$ oc create -f backup-secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f backup-apimanager.yaml
$ oc create -f backup-apimanager.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.1.3. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f ts_pvc.yml
$ oc create -f ts_pvc.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc edit deployment system-mysql -n threescale
$ oc edit deployment system-mysql -n threescale
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f mysql.yaml
$ oc create -f mysql.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc get backups.velero.io mysql-backup
$ oc get backups.velero.io mysql-backup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME STATUS CREATED NAMESPACE POD VOLUME UPLOADER TYPE STORAGE LOCATION AGE mysql-backup-4g7qn Completed 30s threescale system-mysql-2-9pr44 example-claim kopia ts-dpa-1 30s mysql-backup-smh85 Completed 23s threescale system-mysql-2-9pr44 mysql-storage kopia ts-dpa-1 30s
NAME STATUS CREATED NAMESPACE POD VOLUME UPLOADER TYPE STORAGE LOCATION AGE mysql-backup-4g7qn Completed 30s threescale system-mysql-2-9pr44 example-claim kopia ts-dpa-1 30s mysql-backup-smh85 Completed 23s threescale system-mysql-2-9pr44 mysql-storage kopia ts-dpa-1 30s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.1.4. 링크 복사링크가 클립보드에 복사되었습니다!
oc edit deployment backend-redis -n threescale
$ oc edit deployment backend-redis -n threescale
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backups.velero.io redis-backup -o yaml
$ oc get backups.velero.io redis-backup -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc get backups.velero.io
$ oc get backups.velero.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.1.5. 링크 복사링크가 클립보드에 복사되었습니다!
oc delete project threescale
$ oc delete project threescale
Copy to Clipboard Copied! Toggle word wrap Toggle overflow "threescale" project deleted successfully
"threescale" project deleted successfully
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f restore.yaml
$ oc create -f restore.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc scale deployment threescale-operator-controller-manager-v2 --replicas=0 -n threescale
$ oc scale deployment threescale-operator-controller-manager-v2 --replicas=0 -n threescale
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f restore-secrets.yaml
$ oc create -f restore-secrets.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f restore-apimanager.yaml
$ oc create -f restore-apimanager.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc scale deployment threescale-operator-controller-manager-v2 --replicas=1 -n threescale
$ oc scale deployment threescale-operator-controller-manager-v2 --replicas=1 -n threescale
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.1.6. 링크 복사링크가 클립보드에 복사되었습니다!
oc scale deployment threescale-operator-controller-manager-v2 --replicas=0 -n threescale
$ oc scale deployment threescale-operator-controller-manager-v2 --replicas=0 -n threescale
Copy to Clipboard Copied! Toggle word wrap Toggle overflow deployment.apps/threescale-operator-controller-manager-v2 scaled
deployment.apps/threescale-operator-controller-manager-v2 scaled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow vi ./scaledowndeployment.sh
$ vi ./scaledowndeployment.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow for deployment in apicast-production apicast-staging backend-cron backend-listener backend-redis backend-worker system-app system-memcache system-mysql system-redis system-searchd system-sidekiq zync zync-database zync-que; do oc scale deployment/$deployment --replicas=0 -n threescale done
for deployment in apicast-production apicast-staging backend-cron backend-listener backend-redis backend-worker system-app system-memcache system-mysql system-redis system-searchd system-sidekiq zync zync-database zync-que; do oc scale deployment/$deployment --replicas=0 -n threescale done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./scaledowndeployment.sh
$ ./scaledowndeployment.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete deployment system-mysql -n threescale
$ oc delete deployment system-mysql -n threescale
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Warning: apps.openshift.io/v1 deployment is deprecated in v4.14+, unavailable in v4.10000+ deployment.apps.openshift.io "system-mysql" deleted
Warning: apps.openshift.io/v1 deployment is deprecated in v4.14+, unavailable in v4.10000+ deployment.apps.openshift.io "system-mysql" deleted
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f restore-mysql.yaml
$ oc create -f restore-mysql.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc get podvolumerestores.velero.io -n openshift-adp
$ oc get podvolumerestores.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME NAMESPACE POD UPLOADER TYPE VOLUME STATUS TOTALBYTES BYTESDONE AGE restore-mysql-rbzvm threescale system-mysql-2-kjkhl kopia mysql-storage Completed 771879108 771879108 40m restore-mysql-z7x7l threescale system-mysql-2-kjkhl kopia example-claim Completed 380415 380415 40m
NAME NAMESPACE POD UPLOADER TYPE VOLUME STATUS TOTALBYTES BYTESDONE AGE restore-mysql-rbzvm threescale system-mysql-2-kjkhl kopia mysql-storage Completed 771879108 771879108 40m restore-mysql-z7x7l threescale system-mysql-2-kjkhl kopia example-claim Completed 380415 380415 40m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get pvc -n threescale
$ oc get pvc -n threescale
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.1.7. 링크 복사링크가 클립보드에 복사되었습니다!
oc delete deployment backend-redis -n threescale
$ oc delete deployment backend-redis -n threescale
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Warning: apps.openshift.io/v1 deployment is deprecated in v4.14+, unavailable in v4.10000+ deployment.apps.openshift.io "backend-redis" deleted
Warning: apps.openshift.io/v1 deployment is deprecated in v4.14+, unavailable in v4.10000+ deployment.apps.openshift.io "backend-redis" deleted
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f restore-backend.yaml
$ oc create -f restore-backend.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc get podvolumerestores.velero.io -n openshift-adp
$ oc get podvolumerestores.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME NAMESPACE POD UPLOADER TYPE VOLUME STATUS TOTALBYTES BYTESDONE AGE restore-backend-jmrwx threescale backend-redis-1-bsfmv kopia backend-redis-storage Completed 76123 76123 21m
NAME NAMESPACE POD UPLOADER TYPE VOLUME STATUS TOTALBYTES BYTESDONE AGE restore-backend-jmrwx threescale backend-redis-1-bsfmv kopia backend-redis-storage Completed 76123 76123 21m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.1.8. 링크 복사링크가 클립보드에 복사되었습니다!
oc scale deployment threescale-operator-controller-manager-v2 --replicas=1 -n threescale
$ oc scale deployment threescale-operator-controller-manager-v2 --replicas=1 -n threescale
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get deployment -n threescale
$ oc get deployment -n threescale
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./scaledeployment.sh
$ ./scaledeployment.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get routes -n threescale
$ oc get routes -n threescale
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.13. 링크 복사링크가 클립보드에 복사되었습니다!
4.13.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.13.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.13.1.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.13.1.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.13.1.4. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.13.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.13.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고Error: relabel failed /var/lib/kubelet/pods/3ac..34/volumes/ \ kubernetes.io~csi/pvc-684..12c/mount: lsetxattr /var/lib/kubelet/ \ pods/3ac..34/volumes/kubernetes.io~csi/pvc-68..2c/mount/data-xfs-103: \ no space left on device
Error: relabel failed /var/lib/kubelet/pods/3ac..34/volumes/ \ kubernetes.io~csi/pvc-684..12c/mount: lsetxattr /var/lib/kubelet/ \ pods/3ac..34/volumes/kubernetes.io~csi/pvc-68..2c/mount/data-xfs-103: \ no space left on device
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f backup.yaml
$ oc create -f backup.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc get datauploads -A
$ oc get datauploads -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAMESPACE NAME STATUS STARTED BYTES DONE TOTAL BYTES STORAGE LOCATION AGE NODE openshift-adp backup-test-1-sw76b Completed 9m47s 108104082 108104082 dpa-sample-1 9m47s ip-10-0-150-57.us-west-2.compute.internal openshift-adp mongo-block-7dtpf Completed 14m 1073741824 1073741824 dpa-sample-1 14m ip-10-0-150-57.us-west-2.compute.internal
NAMESPACE NAME STATUS STARTED BYTES DONE TOTAL BYTES STORAGE LOCATION AGE NODE openshift-adp backup-test-1-sw76b Completed 9m47s 108104082 108104082 dpa-sample-1 9m47s ip-10-0-150-57.us-west-2.compute.internal openshift-adp mongo-block-7dtpf Completed 14m 1073741824 1073741824 dpa-sample-1 14m ip-10-0-150-57.us-west-2.compute.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get datauploads <dataupload_name> -o yaml
$ oc get datauploads <dataupload_name> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.13.2.2. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f restore.yaml
$ oc create -f restore.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc get datadownloads -A
$ oc get datadownloads -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAMESPACE NAME STATUS STARTED BYTES DONE TOTAL BYTES STORAGE LOCATION AGE NODE openshift-adp restore-test-1-sk7lg Completed 7m11s 108104082 108104082 dpa-sample-1 7m11s ip-10-0-150-57.us-west-2.compute.internal
NAMESPACE NAME STATUS STARTED BYTES DONE TOTAL BYTES STORAGE LOCATION AGE NODE openshift-adp restore-test-1-sk7lg Completed 7m11s 108104082 108104082 dpa-sample-1 7m11s ip-10-0-150-57.us-west-2.compute.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get datadownloads <datadownload_name> -o yaml
$ oc get datadownloads <datadownload_name> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.13.2.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.13.2.3.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.13.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.13.3.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.13.3.2. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f <dpa_file_name>
$ oc create -f <dpa_file_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get dpa -o yaml
$ oc get dpa -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f <backup_file_name>
$ oc apply -f <backup_file_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backups.velero.io <backup_name> -o yaml
$ oc get backups.velero.io <backup_name> -o yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.13.3.3. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고oc apply -f <pod_config_file_name>
$ oc apply -f <pod_config_file_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc describe pod/oadp-mustgather-pod | grep scc
$ oc describe pod/oadp-mustgather-pod | grep scc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openshift.io/scc: anyuid
openshift.io/scc: anyuid
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-adp rsh pod/oadp-mustgather-pod
$ oc -n openshift-adp rsh pod/oadp-mustgather-pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고kopia benchmark hashing
sh-5.1# kopia benchmark hashing
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow kopia benchmark encryption
sh-5.1# kopia benchmark encryption
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow kopia benchmark splitter
sh-5.1# kopia benchmark splitter
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.14.2. 링크 복사링크가 클립보드에 복사되었습니다!
alias velero='oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'
$ alias velero='oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.3. 링크 복사링크가 클립보드에 복사되었습니다!
oc describe <velero_cr> <cr_name>
$ oc describe <velero_cr> <cr_name>
oc logs pod/<velero>
$ oc logs pod/<velero>
4.14.4. 링크 복사링크가 클립보드에 복사되었습니다!
oc -n openshift-adp exec deployment/velero -c velero -- ./velero \ <backup_restore_cr> <command> <cr_name>
$ oc -n openshift-adp exec deployment/velero -c velero -- ./velero \
<backup_restore_cr> <command> <cr_name>
oc -n openshift-adp exec deployment/velero -c velero -- ./velero \ backup describe 0e44ae00-5dc3-11eb-9ca8-df7e5254778b-2d8ql
$ oc -n openshift-adp exec deployment/velero -c velero -- ./velero \
backup describe 0e44ae00-5dc3-11eb-9ca8-df7e5254778b-2d8ql
oc -n openshift-adp exec deployment/velero -c velero -- ./velero \ --help
$ oc -n openshift-adp exec deployment/velero -c velero -- ./velero \
--help
oc -n openshift-adp exec deployment/velero -c velero -- ./velero \ <backup_restore_cr> describe <cr_name>
$ oc -n openshift-adp exec deployment/velero -c velero -- ./velero \
<backup_restore_cr> describe <cr_name>
oc -n openshift-adp exec deployment/velero -c velero -- ./velero \ backup describe 0e44ae00-5dc3-11eb-9ca8-df7e5254778b-2d8ql
$ oc -n openshift-adp exec deployment/velero -c velero -- ./velero \
backup describe 0e44ae00-5dc3-11eb-9ca8-df7e5254778b-2d8ql
oc -n openshift-adp exec deployment/velero -c velero -- ./velero \ <backup_restore_cr> logs <cr_name>
$ oc -n openshift-adp exec deployment/velero -c velero -- ./velero \
<backup_restore_cr> logs <cr_name>
oc -n openshift-adp exec deployment/velero -c velero -- ./velero \ restore logs ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf
$ oc -n openshift-adp exec deployment/velero -c velero -- ./velero \
restore logs ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf
4.14.5. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.5.1. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.5.2. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
requests: cpu: 500m memory: 128Mi
requests:
cpu: 500m
memory: 128Mi
4.14.6. 링크 복사링크가 클립보드에 복사되었습니다!
Velero: pod volume restore failed: data path restore failed: \ Failed to run kopia restore: Failed to copy snapshot data to the target: \ restore error: copy file: error creating file: \ open /host_pods/b4d...6/volumes/kubernetes.io~nfs/pvc-53...4e5/userdata/base/13493/2681: \ no such file or directory
Velero: pod volume restore failed: data path restore failed: \
Failed to run kopia restore: Failed to copy snapshot data to the target: \
restore error: copy file: error creating file: \
open /host_pods/b4d...6/volumes/kubernetes.io~nfs/pvc-53...4e5/userdata/base/13493/2681: \
no such file or directory
4.14.7. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.7.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.7.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
velero restore <restore_name> \ --from-backup=<backup_name> --include-resources \ service.serving.knavtive.dev
$ velero restore <restore_name> \ --from-backup=<backup_name> --include-resources \ service.serving.knavtive.dev
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.7.1.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc get mutatingwebhookconfigurations
$ oc get mutatingwebhookconfigurations
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.7.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.7.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
024-02-27T10:46:50.028951744Z time="2024-02-27T10:46:50Z" level=error msg="Error backing up item" backup=openshift-adp/<backup name> error="error executing custom action (groupResource=imagestreams.image.openshift.io, namespace=<BSL Name>, name=postgres): rpc error: code = Aborted desc = plugin panicked: runtime error: index out of range with length 1, stack trace: goroutine 94…
024-02-27T10:46:50.028951744Z time="2024-02-27T10:46:50Z" level=error msg="Error backing up item"
backup=openshift-adp/<backup name> error="error executing custom action (groupResource=imagestreams.image.openshift.io,
namespace=<BSL Name>, name=postgres): rpc error: code = Aborted desc = plugin panicked:
runtime error: index out of range with length 1, stack trace: goroutine 94…
4.14.7.2.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc label backupstoragelocations.velero.io <bsl_name> app.kubernetes.io/component=bsl
$ oc label backupstoragelocations.velero.io <bsl_name> app.kubernetes.io/component=bsl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 참고
oc -n openshift-adp get secret/oadp-<bsl_name>-<bsl_provider>-registry-secret -o json | jq -r '.data'
$ oc -n openshift-adp get secret/oadp-<bsl_name>-<bsl_provider>-registry-secret -o json | jq -r '.data'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.7.2.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.7.2.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.7.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.8. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.8.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.8.2. 링크 복사링크가 클립보드에 복사되었습니다!
[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
4.14.9. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.9.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc get backupstoragelocations.velero.io -A
$ oc get backupstoragelocations.velero.io -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero backup-location get -n <OADP_Operator_namespace>
$ velero backup-location get -n <OADP_Operator_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc get backupstoragelocations.velero.io -n <namespace> -o yaml
$ oc get backupstoragelocations.velero.io -n <namespace> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.10. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.10.1. 링크 복사링크가 클립보드에 복사되었습니다!
level=error msg="Error backing up item" backup=velero/monitoring error="timed out waiting for all PodVolumeBackups to complete"
level=error msg="Error backing up item" backup=velero/monitoring error="timed out waiting for all PodVolumeBackups to complete"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.10.2. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.10.3. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.10.4. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.10.5. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.10.6. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.10.7. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.11. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.11.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.11.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc -n {namespace} exec deployment/velero -c velero -- ./velero \ backup describe <backup>
$ oc -n {namespace} exec deployment/velero -c velero -- ./velero \ backup describe <backup>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete backups.velero.io <backup> -n openshift-adp
$ oc delete backups.velero.io <backup> -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow velero backup describe <backup-name> --details
$ velero backup describe <backup-name> --details
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.11.3. 링크 복사링크가 클립보드에 복사되었습니다!
time="2023-02-17T16:33:13Z" level=error msg="Error backing up item" backup=openshift-adp/user1-backup-check5 error="error executing custom action (groupResource=persistentvolumeclaims, namespace=busy1, name=pvc1-user1): rpc error: code = Unknown desc = failed to get volumesnapshotclass for storageclass ocs-storagecluster-ceph-rbd: failed to get volumesnapshotclass for provisioner openshift-storage.rbd.csi.ceph.com, ensure that the desired volumesnapshot class has the velero.io/csi-volumesnapshot-class label" logSource="/remote-source/velero/app/pkg/backup/backup.go:417" name=busybox-79799557b5-vprq
time="2023-02-17T16:33:13Z" level=error msg="Error backing up item" backup=openshift-adp/user1-backup-check5 error="error executing custom action (groupResource=persistentvolumeclaims, namespace=busy1, name=pvc1-user1): rpc error: code = Unknown desc = failed to get volumesnapshotclass for storageclass ocs-storagecluster-ceph-rbd: failed to get volumesnapshotclass for provisioner openshift-storage.rbd.csi.ceph.com, ensure that the desired volumesnapshot class has the velero.io/csi-volumesnapshot-class label" logSource="/remote-source/velero/app/pkg/backup/backup.go:417" name=busybox-79799557b5-vprq
oc delete backups.velero.io <backup> -n openshift-adp
$ oc delete backups.velero.io <backup> -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc label volumesnapshotclass/<snapclass_name> velero.io/csi-volumesnapshot-class=true
$ oc label volumesnapshotclass/<snapclass_name> velero.io/csi-volumesnapshot-class=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.12. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.12.1. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.12.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc delete resticrepository openshift-adp <name_of_the_restic_repository>
$ oc delete resticrepository openshift-adp <name_of_the_restic_repository>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.12.3. 링크 복사링크가 클립보드에 복사되었습니다!
oc get dpa -o yaml
$ oc get dpa -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.13. 링크 복사링크가 클립보드에 복사되었습니다!
oc adm must-gather --image=registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.4
$ oc adm must-gather --image=registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm must-gather --image=registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.4 \ -- /usr/bin/gather_<time>_essential
$ oc adm must-gather --image=registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.4 \ -- /usr/bin/gather_<time>_essential
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm must-gather --image=registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.4 \ -- /usr/bin/gather_with_timeout <timeout>
$ oc adm must-gather --image=registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.4 \ -- /usr/bin/gather_with_timeout <timeout>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm must-gather --image=registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.4 -- /usr/bin/gather_metrics_dump
$ oc adm must-gather --image=registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.4 -- /usr/bin/gather_metrics_dump
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.13.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc adm must-gather --image=registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.4 -- /usr/bin/gather_without_tls <true/false>
$ oc adm must-gather --image=registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.4 -- /usr/bin/gather_without_tls <true/false>
4.14.13.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc adm must-gather --image=registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.4 -- skip_tls=true /usr/bin/gather_with_timeout <timeout_value_in_seconds>
$ oc adm must-gather --image=registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.4 -- skip_tls=true /usr/bin/gather_with_timeout <timeout_value_in_seconds>
oc adm must-gather --image=registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.4 -- /usr/bin/gather_without_tls true
$ oc adm must-gather --image=registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.4 -- /usr/bin/gather_without_tls true
4.14.14. 링크 복사링크가 클립보드에 복사되었습니다!
4.14.14.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc edit configmap cluster-monitoring-config -n openshift-monitoring
$ oc edit configmap cluster-monitoring-config -n openshift-monitoring
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get pods -n openshift-user-workload-monitoring
$ oc get pods -n openshift-user-workload-monitoring
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get configmap user-workload-monitoring-config -n openshift-user-workload-monitoring
$ oc get configmap user-workload-monitoring-config -n openshift-user-workload-monitoring
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Error from server (NotFound): configmaps "user-workload-monitoring-config" not found
Error from server (NotFound): configmaps "user-workload-monitoring-config" not found
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f 2_configure_user_workload_monitoring.yaml
$ oc apply -f 2_configure_user_workload_monitoring.yaml configmap/user-workload-monitoring-config created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.14.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc get svc -n openshift-adp -l app.kubernetes.io/name=velero
$ oc get svc -n openshift-adp -l app.kubernetes.io/name=velero
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE openshift-adp-velero-metrics-svc ClusterIP 172.30.38.244 <none> 8085/TCP 1h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE openshift-adp-velero-metrics-svc ClusterIP 172.30.38.244 <none> 8085/TCP 1h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f 3_create_oadp_service_monitor.yaml
$ oc apply -f 3_create_oadp_service_monitor.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow servicemonitor.monitoring.coreos.com/oadp-service-monitor created
servicemonitor.monitoring.coreos.com/oadp-service-monitor created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
그림 4.1.
4.14.14.3. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f 4_create_oadp_alert_rule.yaml
$ oc apply -f 4_create_oadp_alert_rule.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow prometheusrule.monitoring.coreos.com/sample-oadp-alert created
prometheusrule.monitoring.coreos.com/sample-oadp-alert created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
그림 4.2.
4.14.14.4. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.14.14.5. 링크 복사링크가 클립보드에 복사되었습니다!
그림 4.3.
4.15. 링크 복사링크가 클립보드에 복사되었습니다!
4.15.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.15.2. 링크 복사링크가 클립보드에 복사되었습니다!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.15.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
$ oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""
|
|
|
|
|
|
|
|
|
|
|
|
4.16. 링크 복사링크가 클립보드에 복사되었습니다!
4.16.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.16.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc api-resources
$ oc api-resources
4.16.1.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.16.1.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.16.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.16.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.16.2.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.16.2.1.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.16.2.2. 링크 복사링크가 클립보드에 복사되었습니다!
4.16.2.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.16.2.2.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc -n <your_pod_namespace> annotate pod/<your_pod_name> \ backup.velero.io/backup-volumes=<your_volume_name_1>, \ <your_volume_name_2>>,...,<your_volume_name_n>
$ oc -n <your_pod_namespace> annotate pod/<your_pod_name> \ backup.velero.io/backup-volumes=<your_volume_name_1>, \ <your_volume_name_2>>,...,<your_volume_name_n>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.16.2.2.3. 링크 복사링크가 클립보드에 복사되었습니다!
oc -n <your_pod_namespace> annotate pod/<your_pod_name> \ backup.velero.io/backup-volumes-excludes=<your_volume_name_1>, \ <your_volume_name_2>>,...,<your_volume_name_n>
$ oc -n <your_pod_namespace> annotate pod/<your_pod_name> \ backup.velero.io/backup-volumes-excludes=<your_volume_name_1>, \ <your_volume_name_2>>,...,<your_volume_name_n>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.16.2.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.16.2.4. 링크 복사링크가 클립보드에 복사되었습니다!
velero backup create <backup_name> --default-volumes-to-fs-backup <any_other_options>
$ velero backup create <backup_name> --default-volumes-to-fs-backup <any_other_options>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고
4.16.3. 링크 복사링크가 클립보드에 복사되었습니다!
4.16.3.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.16.3.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
4.16.3.1.2. 링크 복사링크가 클립보드에 복사되었습니다!
cat change-storageclass.yaml
$ cat change-storageclass.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f change-storage-class-config
$ oc create -f change-storage-class-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5장. 링크 복사링크가 클립보드에 복사되었습니다!
5.1. 링크 복사링크가 클립보드에 복사되었습니다!
5.1.1. 링크 복사링크가 클립보드에 복사되었습니다!
- 작은 정보
oc debug --as-root node/<node_name>
$ oc debug --as-root node/<node_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow chroot /host
sh-4.4# chroot /host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow export HTTP_PROXY=http://<your_proxy.example.com>:8080
$ export HTTP_PROXY=http://<your_proxy.example.com>:8080
Copy to Clipboard Copied! Toggle word wrap Toggle overflow export HTTPS_PROXY=https://<your_proxy.example.com>:8080
$ export HTTPS_PROXY=https://<your_proxy.example.com>:8080
Copy to Clipboard Copied! Toggle word wrap Toggle overflow export NO_PROXY=<example.com>
$ export NO_PROXY=<example.com>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 작은 정보
/usr/local/bin/cluster-backup.sh /home/core/assets/backup
sh-4.4# /usr/local/bin/cluster-backup.sh /home/core/assets/backup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 참고
5.1.3. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f enable-tech-preview-no-upgrade.yaml
$ oc apply -f enable-tech-preview-no-upgrade.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get crd | grep backup
$ oc get crd | grep backup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow backups.config.openshift.io 2023-10-25T13:32:43Z etcdbackups.operator.openshift.io 2023-10-25T13:32:04Z
backups.config.openshift.io 2023-10-25T13:32:43Z etcdbackups.operator.openshift.io 2023-10-25T13:32:04Z
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.3.1. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f etcd-backup-pvc.yaml
$ oc apply -f etcd-backup-pvc.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get pvc
$ oc get pvc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE etcd-backup-pvc Bound 51s
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE etcd-backup-pvc Bound 51s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f etcd-single-backup.yaml
$ oc apply -f etcd-single-backup.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f etcd-backup-local-storage.yaml
$ oc apply -f etcd-backup-local-storage.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get pv
$ oc get pv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE etcd-backup-pv-fs 100Gi RWO Retain Available etcd-backup-local-storage 10s
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE etcd-backup-pv-fs 100Gi RWO Retain Available etcd-backup-local-storage 10s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f etcd-backup-pvc.yaml
$ oc apply -f etcd-backup-pvc.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f etcd-single-backup.yaml
$ oc apply -f etcd-single-backup.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.3.2. 링크 복사링크가 클립보드에 복사되었습니다!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고Expand oc apply -f etcd-backup-pvc.yaml
$ oc apply -f etcd-backup-pvc.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get pvc
$ oc get pvc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE etcd-backup-pvc Bound 51s
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE etcd-backup-pvc Bound 51s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고
- 주의
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f etcd-backup-local-storage.yaml
$ oc apply -f etcd-backup-local-storage.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 작은 정보oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get pv
$ oc get pv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE etcd-backup-pv-fs 100Gi RWX Delete Available etcd-backup-local-storage 10s
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE etcd-backup-pv-fs 100Gi RWX Delete Available etcd-backup-local-storage 10s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f etcd-backup-pvc.yaml
$ oc apply -f etcd-backup-pvc.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 주의Copy to Clipboard Copied! Toggle word wrap Toggle overflow 주의oc create -f etcd-recurring-backup.yaml
$ oc create -f etcd-recurring-backup.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get cronjob -n openshift-etcd
$ oc get cronjob -n openshift-etcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2. 링크 복사링크가 클립보드에 복사되었습니다!
5.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
5.2.2. 링크 복사링크가 클립보드에 복사되었습니다!
oc get etcd -o=jsonpath='{range .items[0].status.conditions[?(@.type=="EtcdMembersAvailable")]}{.message}{"\n"}'
$ oc get etcd -o=jsonpath='{range .items[0].status.conditions[?(@.type=="EtcdMembersAvailable")]}{.message}{"\n"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 2 of 3 members are available, ip-10-0-131-183.ec2.internal is unhealthy
2 of 3 members are available, ip-10-0-131-183.ec2.internal is unhealthy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.3. 링크 복사링크가 클립보드에 복사되었습니다!
oc get machines -A -ojsonpath='{range .items[*]}{@.status.nodeRef.name}{"\t"}{@.status.providerStatus.instanceState}{"\n"}' | grep -v running
$ oc get machines -A -ojsonpath='{range .items[*]}{@.status.nodeRef.name}{"\t"}{@.status.providerStatus.instanceState}{"\n"}' | grep -v running
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ip-10-0-131-183.ec2.internal stopped
ip-10-0-131-183.ec2.internal stopped
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get nodes -o jsonpath='{range .items[*]}{"\n"}{.metadata.name}{"\t"}{range .spec.taints[*]}{.key}{" "}' | grep unreachable
$ oc get nodes -o jsonpath='{range .items[*]}{"\n"}{.metadata.name}{"\t"}{range .spec.taints[*]}{.key}{" "}' | grep unreachable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ip-10-0-131-183.ec2.internal node-role.kubernetes.io/master node.kubernetes.io/unreachable node.kubernetes.io/unreachable
ip-10-0-131-183.ec2.internal node-role.kubernetes.io/master node.kubernetes.io/unreachable node.kubernetes.io/unreachable
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get nodes -l node-role.kubernetes.io/master | grep "NotReady"
$ oc get nodes -l node-role.kubernetes.io/master | grep "NotReady"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ip-10-0-131-183.ec2.internal NotReady master 122m v1.29.4
ip-10-0-131-183.ec2.internal NotReady master 122m v1.29.4
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc get nodes -l node-role.kubernetes.io/master
$ oc get nodes -l node-role.kubernetes.io/master
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME STATUS ROLES AGE VERSION ip-10-0-131-183.ec2.internal Ready master 6h13m v1.29.4 ip-10-0-164-97.ec2.internal Ready master 6h13m v1.29.4 ip-10-0-154-204.ec2.internal Ready master 6h13m v1.29.4
NAME STATUS ROLES AGE VERSION ip-10-0-131-183.ec2.internal Ready master 6h13m v1.29.4 ip-10-0-164-97.ec2.internal Ready master 6h13m v1.29.4 ip-10-0-154-204.ec2.internal Ready master 6h13m v1.29.4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-etcd get pods -l k8s-app=etcd
$ oc -n openshift-etcd get pods -l k8s-app=etcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd-ip-10-0-131-183.ec2.internal 2/3 Error 7 6h9m etcd-ip-10-0-164-97.ec2.internal 3/3 Running 0 6h6m etcd-ip-10-0-154-204.ec2.internal 3/3 Running 0 6h6m
etcd-ip-10-0-131-183.ec2.internal 2/3 Error 7 6h9m
1 etcd-ip-10-0-164-97.ec2.internal 3/3 Running 0 6h6m etcd-ip-10-0-154-204.ec2.internal 3/3 Running 0 6h6m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.4. 링크 복사링크가 클립보드에 복사되었습니다!
5.2.4.1. 링크 복사링크가 클립보드에 복사되었습니다!
- 중요
- 중요
oc -n openshift-etcd get pods -l k8s-app=etcd
$ oc -n openshift-etcd get pods -l k8s-app=etcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd-ip-10-0-131-183.ec2.internal 3/3 Running 0 123m etcd-ip-10-0-164-97.ec2.internal 3/3 Running 0 123m etcd-ip-10-0-154-204.ec2.internal 3/3 Running 0 124m
etcd-ip-10-0-131-183.ec2.internal 3/3 Running 0 123m etcd-ip-10-0-164-97.ec2.internal 3/3 Running 0 123m etcd-ip-10-0-154-204.ec2.internal 3/3 Running 0 124m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc rsh -n openshift-etcd etcd-ip-10-0-154-204.ec2.internal
$ oc rsh -n openshift-etcd etcd-ip-10-0-154-204.ec2.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcdctl member list -w table
sh-4.2# etcdctl member list -w table
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcdctl member remove 6fc1e7c9db35841d
sh-4.2# etcdctl member remove 6fc1e7c9db35841d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Member 6fc1e7c9db35841d removed from cluster ead669ce1fbfb346
Member 6fc1e7c9db35841d removed from cluster ead669ce1fbfb346
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcdctl member list -w table
sh-4.2# etcdctl member list -w table
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": {"useUnsupportedUnsafeNonHANonProductionUnstableEtcd": true}}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": {"useUnsupportedUnsafeNonHANonProductionUnstableEtcd": true}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요참고oc delete node <node_name>
$ oc delete node <node_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete node ip-10-0-131-183.ec2.internal
$ oc delete node ip-10-0-131-183.ec2.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get secrets -n openshift-etcd | grep ip-10-0-131-183.ec2.internal
$ oc get secrets -n openshift-etcd | grep ip-10-0-131-183.ec2.internal
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd-peer-ip-10-0-131-183.ec2.internal kubernetes.io/tls 2 47m etcd-serving-ip-10-0-131-183.ec2.internal kubernetes.io/tls 2 47m etcd-serving-metrics-ip-10-0-131-183.ec2.internal kubernetes.io/tls 2 47m
etcd-peer-ip-10-0-131-183.ec2.internal kubernetes.io/tls 2 47m etcd-serving-ip-10-0-131-183.ec2.internal kubernetes.io/tls 2 47m etcd-serving-metrics-ip-10-0-131-183.ec2.internal kubernetes.io/tls 2 47m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete secret -n openshift-etcd etcd-peer-ip-10-0-131-183.ec2.internal
$ oc delete secret -n openshift-etcd etcd-peer-ip-10-0-131-183.ec2.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete secret -n openshift-etcd etcd-serving-ip-10-0-131-183.ec2.internal
$ oc delete secret -n openshift-etcd etcd-serving-ip-10-0-131-183.ec2.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete secret -n openshift-etcd etcd-serving-metrics-ip-10-0-131-183.ec2.internal
$ oc delete secret -n openshift-etcd etcd-serving-metrics-ip-10-0-131-183.ec2.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc get machines -n openshift-machine-api -o wide
$ oc get machines -n openshift-machine-api -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete machine -n openshift-machine-api clustername-8qw5l-master-0
$ oc delete machine -n openshift-machine-api clustername-8qw5l-master-0
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get machines -n openshift-machine-api -o wide
$ oc get machines -n openshift-machine-api -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": null}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": null}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get etcd/cluster -oyaml
$ oc get etcd/cluster -oyaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow EtcdCertSignerControllerDegraded: [Operation cannot be fulfilled on secrets "etcd-peer-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-metrics-sno-0": the object has been modified; please apply your changes to the latest version and try again]
EtcdCertSignerControllerDegraded: [Operation cannot be fulfilled on secrets "etcd-peer-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-metrics-sno-0": the object has been modified; please apply your changes to the latest version and try again]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc -n openshift-etcd get pods -l k8s-app=etcd
$ oc -n openshift-etcd get pods -l k8s-app=etcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd-ip-10-0-133-53.ec2.internal 3/3 Running 0 7m49s etcd-ip-10-0-164-97.ec2.internal 3/3 Running 0 123m etcd-ip-10-0-154-204.ec2.internal 3/3 Running 0 124m
etcd-ip-10-0-133-53.ec2.internal 3/3 Running 0 7m49s etcd-ip-10-0-164-97.ec2.internal 3/3 Running 0 123m etcd-ip-10-0-154-204.ec2.internal 3/3 Running 0 124m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch etcd cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
$ oc patch etcd cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc rsh -n openshift-etcd etcd-ip-10-0-154-204.ec2.internal
$ oc rsh -n openshift-etcd etcd-ip-10-0-154-204.ec2.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcdctl member list -w table
sh-4.2# etcdctl member list -w table
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 주의
5.2.4.2. 링크 복사링크가 클립보드에 복사되었습니다!
- 중요
oc debug node/ip-10-0-131-183.ec2.internal
$ oc debug node/ip-10-0-131-183.ec2.internal
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow chroot /host
sh-4.2# chroot /host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir /var/lib/etcd-backup
sh-4.2# mkdir /var/lib/etcd-backup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mv /etc/kubernetes/manifests/etcd-pod.yaml /var/lib/etcd-backup/
sh-4.2# mv /etc/kubernetes/manifests/etcd-pod.yaml /var/lib/etcd-backup/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mv /var/lib/etcd/ /tmp
sh-4.2# mv /var/lib/etcd/ /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc -n openshift-etcd get pods -l k8s-app=etcd
$ oc -n openshift-etcd get pods -l k8s-app=etcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd-ip-10-0-131-183.ec2.internal 2/3 Error 7 6h9m etcd-ip-10-0-164-97.ec2.internal 3/3 Running 0 6h6m etcd-ip-10-0-154-204.ec2.internal 3/3 Running 0 6h6m
etcd-ip-10-0-131-183.ec2.internal 2/3 Error 7 6h9m etcd-ip-10-0-164-97.ec2.internal 3/3 Running 0 6h6m etcd-ip-10-0-154-204.ec2.internal 3/3 Running 0 6h6m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc rsh -n openshift-etcd etcd-ip-10-0-154-204.ec2.internal
$ oc rsh -n openshift-etcd etcd-ip-10-0-154-204.ec2.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcdctl member list -w table
sh-4.2# etcdctl member list -w table
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcdctl member remove 62bcf33650a7170a
sh-4.2# etcdctl member remove 62bcf33650a7170a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Member 62bcf33650a7170a removed from cluster ead669ce1fbfb346
Member 62bcf33650a7170a removed from cluster ead669ce1fbfb346
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcdctl member list -w table
sh-4.2# etcdctl member list -w table
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": {"useUnsupportedUnsafeNonHANonProductionUnstableEtcd": true}}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": {"useUnsupportedUnsafeNonHANonProductionUnstableEtcd": true}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get secrets -n openshift-etcd | grep ip-10-0-131-183.ec2.internal
$ oc get secrets -n openshift-etcd | grep ip-10-0-131-183.ec2.internal
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd-peer-ip-10-0-131-183.ec2.internal kubernetes.io/tls 2 47m etcd-serving-ip-10-0-131-183.ec2.internal kubernetes.io/tls 2 47m etcd-serving-metrics-ip-10-0-131-183.ec2.internal kubernetes.io/tls 2 47m
etcd-peer-ip-10-0-131-183.ec2.internal kubernetes.io/tls 2 47m etcd-serving-ip-10-0-131-183.ec2.internal kubernetes.io/tls 2 47m etcd-serving-metrics-ip-10-0-131-183.ec2.internal kubernetes.io/tls 2 47m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete secret -n openshift-etcd etcd-peer-ip-10-0-131-183.ec2.internal
$ oc delete secret -n openshift-etcd etcd-peer-ip-10-0-131-183.ec2.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete secret -n openshift-etcd etcd-serving-ip-10-0-131-183.ec2.internal
$ oc delete secret -n openshift-etcd etcd-serving-ip-10-0-131-183.ec2.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete secret -n openshift-etcd etcd-serving-metrics-ip-10-0-131-183.ec2.internal
$ oc delete secret -n openshift-etcd etcd-serving-metrics-ip-10-0-131-183.ec2.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc patch etcd cluster -p='{"spec": {"forceRedeploymentReason": "single-master-recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
$ oc patch etcd cluster -p='{"spec": {"forceRedeploymentReason": "single-master-recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": null}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": null}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get etcd/cluster -oyaml
$ oc get etcd/cluster -oyaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow EtcdCertSignerControllerDegraded: [Operation cannot be fulfilled on secrets "etcd-peer-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-metrics-sno-0": the object has been modified; please apply your changes to the latest version and try again]
EtcdCertSignerControllerDegraded: [Operation cannot be fulfilled on secrets "etcd-peer-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-metrics-sno-0": the object has been modified; please apply your changes to the latest version and try again]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc rsh -n openshift-etcd etcd-ip-10-0-154-204.ec2.internal
$ oc rsh -n openshift-etcd etcd-ip-10-0-154-204.ec2.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcdctl endpoint health
sh-4.2# etcdctl endpoint health
Copy to Clipboard Copied! Toggle word wrap Toggle overflow https://10.0.131.183:2379 is healthy: successfully committed proposal: took = 16.671434ms https://10.0.154.204:2379 is healthy: successfully committed proposal: took = 16.698331ms https://10.0.164.97:2379 is healthy: successfully committed proposal: took = 16.621645ms
https://10.0.131.183:2379 is healthy: successfully committed proposal: took = 16.671434ms https://10.0.154.204:2379 is healthy: successfully committed proposal: took = 16.698331ms https://10.0.164.97:2379 is healthy: successfully committed proposal: took = 16.621645ms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.4.3. 링크 복사링크가 클립보드에 복사되었습니다!
- 중요
oc -n openshift-etcd get pods -l k8s-app=etcd -o wide
$ oc -n openshift-etcd get pods -l k8s-app=etcd -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd-openshift-control-plane-0 5/5 Running 11 3h56m 192.168.10.9 openshift-control-plane-0 <none> <none> etcd-openshift-control-plane-1 5/5 Running 0 3h54m 192.168.10.10 openshift-control-plane-1 <none> <none> etcd-openshift-control-plane-2 5/5 Running 0 3h58m 192.168.10.11 openshift-control-plane-2 <none> <none>
etcd-openshift-control-plane-0 5/5 Running 11 3h56m 192.168.10.9 openshift-control-plane-0 <none> <none> etcd-openshift-control-plane-1 5/5 Running 0 3h54m 192.168.10.10 openshift-control-plane-1 <none> <none> etcd-openshift-control-plane-2 5/5 Running 0 3h58m 192.168.10.11 openshift-control-plane-2 <none> <none>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc rsh -n openshift-etcd etcd-openshift-control-plane-0
$ oc rsh -n openshift-etcd etcd-openshift-control-plane-0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcdctl member list -w table
sh-4.2# etcdctl member list -w table
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 주의
etcdctl member remove 7a8197040a5126c8
sh-4.2# etcdctl member remove 7a8197040a5126c8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Member 7a8197040a5126c8 removed from cluster b23536c33f2cdd1b
Member 7a8197040a5126c8 removed from cluster b23536c33f2cdd1b
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcdctl member list -w table
sh-4.2# etcdctl member list -w table
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요
oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": {"useUnsupportedUnsafeNonHANonProductionUnstableEtcd": true}}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": {"useUnsupportedUnsafeNonHANonProductionUnstableEtcd": true}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get secrets -n openshift-etcd | grep openshift-control-plane-2
$ oc get secrets -n openshift-etcd | grep openshift-control-plane-2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd-peer-openshift-control-plane-2 kubernetes.io/tls 2 134m etcd-serving-metrics-openshift-control-plane-2 kubernetes.io/tls 2 134m etcd-serving-openshift-control-plane-2 kubernetes.io/tls 2 134m
etcd-peer-openshift-control-plane-2 kubernetes.io/tls 2 134m etcd-serving-metrics-openshift-control-plane-2 kubernetes.io/tls 2 134m etcd-serving-openshift-control-plane-2 kubernetes.io/tls 2 134m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete secret etcd-peer-openshift-control-plane-2 -n openshift-etcd
$ oc delete secret etcd-peer-openshift-control-plane-2 -n openshift-etcd secret "etcd-peer-openshift-control-plane-2" deleted
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete secret etcd-serving-metrics-openshift-control-plane-2 -n openshift-etcd
$ oc delete secret etcd-serving-metrics-openshift-control-plane-2 -n openshift-etcd secret "etcd-serving-metrics-openshift-control-plane-2" deleted
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete secret etcd-serving-openshift-control-plane-2 -n openshift-etcd
$ oc delete secret etcd-serving-openshift-control-plane-2 -n openshift-etcd secret "etcd-serving-openshift-control-plane-2" deleted
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc get machines -n openshift-machine-api -o wide
$ oc get machines -n openshift-machine-api -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get clusteroperator baremetal
$ oc get clusteroperator baremetal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE baremetal 4.16.0 True False False 3d15h
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE baremetal 4.16.0 True False False 3d15h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete bmh openshift-control-plane-2 -n openshift-machine-api
$ oc delete bmh openshift-control-plane-2 -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow baremetalhost.metal3.io "openshift-control-plane-2" deleted
baremetalhost.metal3.io "openshift-control-plane-2" deleted
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete machine -n openshift-machine-api examplecluster-control-plane-2
$ oc delete machine -n openshift-machine-api examplecluster-control-plane-2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요oc edit machine -n openshift-machine-api examplecluster-control-plane-2
$ oc edit machine -n openshift-machine-api examplecluster-control-plane-2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow finalizers: - machine.machine.openshift.io
finalizers: - machine.machine.openshift.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow machine.machine.openshift.io/examplecluster-control-plane-2 edited
machine.machine.openshift.io/examplecluster-control-plane-2 edited
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc get machines -n openshift-machine-api -o wide
$ oc get machines -n openshift-machine-api -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PHASE TYPE REGION ZONE AGE NODE PROVIDERID STATE examplecluster-control-plane-0 Running 3h11m openshift-control-plane-0 baremetalhost:///openshift-machine-api/openshift-control-plane-0/da1ebe11-3ff2-41c5-b099-0aa41222964e externally provisioned examplecluster-control-plane-1 Running 3h11m openshift-control-plane-1 baremetalhost:///openshift-machine-api/openshift-control-plane-1/d9f9acbc-329c-475e-8d81-03b20280a3e1 externally provisioned examplecluster-compute-0 Running 165m openshift-compute-0 baremetalhost:///openshift-machine-api/openshift-compute-0/3d685b81-7410-4bb3-80ec-13a31858241f provisioned examplecluster-compute-1 Running 165m openshift-compute-1 baremetalhost:///openshift-machine-api/openshift-compute-1/0fdae6eb-2066-4241-91dc-e7ea72ab13b9 provisioned
NAME PHASE TYPE REGION ZONE AGE NODE PROVIDERID STATE examplecluster-control-plane-0 Running 3h11m openshift-control-plane-0 baremetalhost:///openshift-machine-api/openshift-control-plane-0/da1ebe11-3ff2-41c5-b099-0aa41222964e externally provisioned examplecluster-control-plane-1 Running 3h11m openshift-control-plane-1 baremetalhost:///openshift-machine-api/openshift-control-plane-1/d9f9acbc-329c-475e-8d81-03b20280a3e1 externally provisioned examplecluster-compute-0 Running 165m openshift-compute-0 baremetalhost:///openshift-machine-api/openshift-compute-0/3d685b81-7410-4bb3-80ec-13a31858241f provisioned examplecluster-compute-1 Running 165m openshift-compute-1 baremetalhost:///openshift-machine-api/openshift-compute-1/0fdae6eb-2066-4241-91dc-e7ea72ab13b9 provisioned
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고중요Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get machines -n openshift-machine-api -o wide
$ oc get machines -n openshift-machine-api -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get bmh -n openshift-machine-api
$ oc get bmh -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": null}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": null}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get etcd/cluster -oyaml
$ oc get etcd/cluster -oyaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow EtcdCertSignerControllerDegraded: [Operation cannot be fulfilled on secrets "etcd-peer-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-metrics-sno-0": the object has been modified; please apply your changes to the latest version and try again]
EtcdCertSignerControllerDegraded: [Operation cannot be fulfilled on secrets "etcd-peer-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-metrics-sno-0": the object has been modified; please apply your changes to the latest version and try again]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc -n openshift-etcd get pods -l k8s-app=etcd
$ oc -n openshift-etcd get pods -l k8s-app=etcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd-openshift-control-plane-0 5/5 Running 0 105m etcd-openshift-control-plane-1 5/5 Running 0 107m etcd-openshift-control-plane-2 5/5 Running 0 103m
etcd-openshift-control-plane-0 5/5 Running 0 105m etcd-openshift-control-plane-1 5/5 Running 0 107m etcd-openshift-control-plane-2 5/5 Running 0 103m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch etcd cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
$ oc patch etcd cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc rsh -n openshift-etcd etcd-openshift-control-plane-0
$ oc rsh -n openshift-etcd etcd-openshift-control-plane-0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcdctl member list -w table
sh-4.2# etcdctl member list -w table
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고etcdctl endpoint health --cluster
# etcdctl endpoint health --cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow https://192.168.10.10:2379 is healthy: successfully committed proposal: took = 8.973065ms https://192.168.10.9:2379 is healthy: successfully committed proposal: took = 11.559829ms https://192.168.10.11:2379 is healthy: successfully committed proposal: took = 11.665203ms
https://192.168.10.10:2379 is healthy: successfully committed proposal: took = 8.973065ms https://192.168.10.9:2379 is healthy: successfully committed proposal: took = 11.559829ms https://192.168.10.11:2379 is healthy: successfully committed proposal: took = 11.665203ms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get etcd -o=jsonpath='{range.items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'
$ oc get etcd -o=jsonpath='{range.items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AllNodesAtLatestRevision
AllNodesAtLatestRevision
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3. 링크 복사링크가 클립보드에 복사되었습니다!
5.3.1. 링크 복사링크가 클립보드에 복사되었습니다!
- 주의참고
5.3.2. 링크 복사링크가 클립보드에 복사되었습니다!
5.3.2.1. 링크 복사링크가 클립보드에 복사되었습니다!
5.3.2.2. 링크 복사링크가 클립보드에 복사되었습니다!
- 중요
- 참고
sudo mv -v /etc/kubernetes/manifests/etcd-pod.yaml /tmp
$ sudo mv -v /etc/kubernetes/manifests/etcd-pod.yaml /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo crictl ps | grep etcd | egrep -v "operator|etcd-guard"
$ sudo crictl ps | grep etcd | egrep -v "operator|etcd-guard"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo mv -v /etc/kubernetes/manifests/kube-apiserver-pod.yaml /tmp
$ sudo mv -v /etc/kubernetes/manifests/kube-apiserver-pod.yaml /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo crictl ps | grep kube-apiserver | egrep -v "operator|guard"
$ sudo crictl ps | grep kube-apiserver | egrep -v "operator|guard"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo mv -v /etc/kubernetes/manifests/kube-controller-manager-pod.yaml /tmp
$ sudo mv -v /etc/kubernetes/manifests/kube-controller-manager-pod.yaml /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo crictl ps | grep kube-controller-manager | egrep -v "operator|guard"
$ sudo crictl ps | grep kube-controller-manager | egrep -v "operator|guard"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo mv -v /etc/kubernetes/manifests/kube-scheduler-pod.yaml /tmp
$ sudo mv -v /etc/kubernetes/manifests/kube-scheduler-pod.yaml /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo crictl ps | grep kube-scheduler | egrep -v "operator|guard"
$ sudo crictl ps | grep kube-scheduler | egrep -v "operator|guard"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo mv -v /var/lib/etcd/ /tmp
$ sudo mv -v /var/lib/etcd/ /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo mv -v /etc/kubernetes/manifests/keepalived.yaml /tmp
$ sudo mv -v /etc/kubernetes/manifests/keepalived.yaml /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo crictl ps --name keepalived
$ sudo crictl ps --name keepalived
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ip -o address | egrep '<api_vip>|<ingress_vip>'
$ ip -o address | egrep '<api_vip>|<ingress_vip>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo ip address del <reported_vip> dev <reported_vip_device>
$ sudo ip address del <reported_vip> dev <reported_vip_device>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ip -o address | grep <api_vip>
$ ip -o address | grep <api_vip>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 작은 정보
sudo -E /usr/local/bin/cluster-restore.sh /home/core/assets/backup
$ sudo -E /usr/local/bin/cluster-restore.sh /home/core/assets/backup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고oc get nodes -w
$ oc get nodes -w
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow ssh -i <ssh-key-path> core@<master-hostname>
$ ssh -i <ssh-key-path> core@<master-hostname>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pwd ls
sh-4.4# pwd /var/lib/kubelet/pki sh-4.4# ls kubelet-client-2022-04-28-11-24-09.pem kubelet-server-2022-04-28-11-24-15.pem kubelet-client-current.pem kubelet-server-current.pem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
sudo systemctl restart kubelet.service
$ sudo systemctl restart kubelet.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 참고
oc get csr
$ oc get csr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc describe csr <csr_name>
$ oc describe csr <csr_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm certificate approve <csr_name>
$ oc adm certificate approve <csr_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm certificate approve <csr_name>
$ oc adm certificate approve <csr_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
sudo crictl ps | grep etcd | egrep -v "operator|etcd-guard"
$ sudo crictl ps | grep etcd | egrep -v "operator|etcd-guard"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 3ad41b7908e32 36f86e2eeaaffe662df0d21041eb22b8198e0e58abeeae8c743c3e6e977e8009 About a minute ago Running etcd 0 7c05f8af362f0
3ad41b7908e32 36f86e2eeaaffe662df0d21041eb22b8198e0e58abeeae8c743c3e6e977e8009 About a minute ago Running etcd 0 7c05f8af362f0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-etcd get pods -l k8s-app=etcd
$ oc -n openshift-etcd get pods -l k8s-app=etcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME READY STATUS RESTARTS AGE etcd-ip-10-0-143-125.ec2.internal 1/1 Running 1 2m47s
NAME READY STATUS RESTARTS AGE etcd-ip-10-0-143-125.ec2.internal 1/1 Running 1 2m47s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc -n openshift-ovn-kubernetes delete pod -l app=ovnkube-control-plane
$ oc -n openshift-ovn-kubernetes delete pod -l app=ovnkube-control-plane
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-ovn-kubernetes get pod -l app=ovnkube-control-plane
$ oc -n openshift-ovn-kubernetes get pod -l app=ovnkube-control-plane
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 중요참고
sudo rm -f /var/lib/ovn-ic/etc/*.db
$ sudo rm -f /var/lib/ovn-ic/etc/*.db
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo systemctl restart ovs-vswitchd ovsdb-server
$ sudo systemctl restart ovs-vswitchd ovsdb-server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-ovn-kubernetes delete pod -l app=ovnkube-node --field-selector=spec.nodeName==<node>
$ oc -n openshift-ovn-kubernetes delete pod -l app=ovnkube-node --field-selector=spec.nodeName==<node>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-ovn-kubernetes get pod -l app=ovnkube-node --field-selector=spec.nodeName==<node>
$ oc -n openshift-ovn-kubernetes get pod -l app=ovnkube-node --field-selector=spec.nodeName==<node>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고
- 주의
- 주의
oc get machines -n openshift-machine-api -o wide
$ oc get machines -n openshift-machine-api -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete machine -n openshift-machine-api clustername-8qw5l-master-0
$ oc delete machine -n openshift-machine-api clustername-8qw5l-master-0
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get machines -n openshift-machine-api -o wide
$ oc get machines -n openshift-machine-api -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": {"useUnsupportedUnsafeNonHANonProductionUnstableEtcd": true}}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": {"useUnsupportedUnsafeNonHANonProductionUnstableEtcd": true}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow export KUBECONFIG=/etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/node-kubeconfigs/localhost-recovery.kubeconfig
$ export KUBECONFIG=/etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/node-kubeconfigs/localhost-recovery.kubeconfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch etcd cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
$ oc patch etcd cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": null}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": null}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get etcd/cluster -oyaml
$ oc get etcd/cluster -oyaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get etcd -o=jsonpath='{range .items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'
$ oc get etcd -o=jsonpath='{range .items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AllNodesAtLatestRevision 3 nodes are at revision 7
AllNodesAtLatestRevision 3 nodes are at revision 7
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch kubeapiserver cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
$ oc patch kubeapiserver cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get kubeapiserver -o=jsonpath='{range .items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'
$ oc get kubeapiserver -o=jsonpath='{range .items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AllNodesAtLatestRevision 3 nodes are at revision 7
AllNodesAtLatestRevision 3 nodes are at revision 7
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch kubecontrollermanager cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
$ oc patch kubecontrollermanager cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get kubecontrollermanager -o=jsonpath='{range .items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'
$ oc get kubecontrollermanager -o=jsonpath='{range .items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AllNodesAtLatestRevision 3 nodes are at revision 7
AllNodesAtLatestRevision 3 nodes are at revision 7
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch kubescheduler cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
$ oc patch kubescheduler cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get kubescheduler -o=jsonpath='{range .items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'
$ oc get kubescheduler -o=jsonpath='{range .items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AllNodesAtLatestRevision 3 nodes are at revision 7
AllNodesAtLatestRevision 3 nodes are at revision 7
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
oc adm wait-for-stable-cluster
$ oc adm wait-for-stable-cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n openshift-etcd get pods -l k8s-app=etcd
$ oc -n openshift-etcd get pods -l k8s-app=etcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd-ip-10-0-143-125.ec2.internal 2/2 Running 0 9h etcd-ip-10-0-154-194.ec2.internal 2/2 Running 0 9h etcd-ip-10-0-173-171.ec2.internal 2/2 Running 0 9h
etcd-ip-10-0-143-125.ec2.internal 2/2 Running 0 9h etcd-ip-10-0-154-194.ec2.internal 2/2 Running 0 9h etcd-ip-10-0-173-171.ec2.internal 2/2 Running 0 9h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
export KUBECONFIG=<installation_directory>/auth/kubeconfig
$ export KUBECONFIG=<installation_directory>/auth/kubeconfig
oc whoami
$ oc whoami
5.3.2.4. 링크 복사링크가 클립보드에 복사되었습니다!
5.3.3. 링크 복사링크가 클립보드에 복사되었습니다!
5.3.3.1. 링크 복사링크가 클립보드에 복사되었습니다!
oc get csr
$ oc get csr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc describe csr <csr_name>
$ oc describe csr <csr_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm certificate approve <csr_name>
$ oc adm certificate approve <csr_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc adm certificate approve <csr_name>
$ oc adm certificate approve <csr_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Legal Notice
링크 복사링크가 클립보드에 복사되었습니다!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.