백업 및 복원


Red Hat Advanced Cluster Security for Kubernetes 4.1

Red Hat Advanced Cluster Security for Kubernetes 백업 및 복원

Red Hat OpenShift Documentation Team

초록

시스템을 백업하고 백업에서 복원하는 방법을 설명합니다.

1장. Red Hat Advanced Cluster Security for Kubernetes 백업

Red Hat Advanced Cluster Security for Kubernetes에 대한 데이터 백업을 수행하고 인프라 재해 또는 데이터가 손상된 경우 데이터 복원에 이를 사용할 수 있습니다.

Amazon S3 또는 Google Cloud Storage 와 통합하여 Central 데이터베이스에 대한 자동 백업을 구성할 수 있습니다. roxctl CLI를 사용하여 중앙 데이터베이스의 온디맨드 백업을 수행할 수 있습니다. RHACS Operator 또는 Helm 차트 설치 방법을 사용하여 중앙 배포를 백업할 수도 있습니다.

요구 사항에 따라 다음 두 가지 유형의 백업을 생성할 수 있습니다.

  1. 중앙 데이터베이스 백업: RHACS 구성, 리소스, 이벤트 및 인증서가 포함됩니다. 데이터베이스 오류 또는 데이터 손상과 같은 예기치 않은 사고에서는 백업을 사용하여 Central 데이터베이스를 이전 기능 상태로 복구하고 복원할 수 있습니다. 이렇게 하면 필수 데이터의 가용성과 무결성을 보장하므로 중요한 정보의 중단이나 손실 없이 정상적인 작업을 계속할 수 있습니다.
  2. 모든 사용자 정의 배포 구성 백업: Helm 차트 또는 RHACS Operator를 사용하여 RHACS를 설치한 경우 설치와 관련된 설정, 매개변수 및 사용자 정의를 백업할 수 있습니다. RHACS 설치가 실수로 삭제되거나 다른 클러스터 또는 네임스페이스로 마이그레이션해야 하는 경우 배포 구성 백업을 사용하면 원활한 복구 프로세스를 수행할 수 있습니다. 또한 백업에서 사용자 지정 설정을 복원하면 중앙 설치의 고유한 요구 사항 및 구성을 효율적으로 복구하여 시스템을 일관되고 정확하게 배포할 수 있습니다.

백업 파일에는 시크릿 및 인증서가 포함되어 있으므로 백업 파일을 안전하게 저장해야 합니다.

1.1. roxctl CLI를 사용하여 중앙 데이터베이스 백업

중앙 데이터베이스를 백업하는 것은 데이터 무결성 및 시스템 안정성을 보장하기 위해 중요합니다. 필요한 구성, 리소스, 이벤트 및 인증서를 포함하는 데이터베이스의 정기적인 백업은 데이터베이스 오류, 손상 및 실수로 데이터 손실을 방지합니다.

roxctl CLI를 사용하여 backup 명령을 사용하여 백업을 수행할 수 있습니다. 이 명령을 실행하려면 API 토큰 또는 관리자 암호가 필요합니다.

1.1.1. API 토큰을 사용하여 온 디맨드 백업

API 토큰을 사용하여 RHACS의 전체 데이터베이스를 백업할 수 있습니다.

사전 요구 사항

  • admin 역할이 있는 API 토큰이 있습니다.
  • roxctl CLI를 설치했습니다.

절차

  1. 다음 명령을 실행하여 ROX_API_TOKENROX_ENDPOINT 환경 변수를 설정합니다.

    $ export ROX_API_TOKEN=<api_token>
    $ export ROX_ENDPOINT=<address>:<port_number>
  2. 다음 명령을 실행하여 Central에 대한 백업을 시작합니다.

    $ roxctl central backup 1
    1
    --output 옵션을 사용하여 백업 파일 위치를 지정할 수 있습니다.

    기본적으로 roxctl CLI는 명령을 실행하는 디렉터리에 백업 파일을 저장합니다.

추가 리소스

1.1.2. 관리자 암호를 사용하여 온 디맨드 백업

관리자 암호를 사용하여 RHACS의 전체 데이터베이스를 백업할 수 있습니다.

사전 요구 사항

  • 관리자 암호가 있습니다.
  • roxctl CLI를 설치했습니다.

절차

  1. 다음 명령을 실행하여 ROX_ENDPOINT 환경 변수를 설정합니다.

    $ export ROX_ENDPOINT=<address>:<port_number>
  2. 다음 명령을 실행하여 Central에 대한 백업을 시작합니다.

    $ roxctl -p <admin_password> central backup 1
    1
    & lt;admin_password& gt;는 관리자 암호를 지정합니다.

    기본적으로 roxctl CLI는 명령을 실행하는 디렉터리에 백업 파일을 저장합니다. --output 옵션을 사용하여 백업 파일 위치를 지정할 수 있습니다.

1.2. 중앙 배포 백업

중앙 인스턴스의 배포를 백업할 수 있습니다. 동일한 구성 값을 사용하여 다른 네임스페이스 또는 클러스터로 중앙을 마이그레이션하려는 경우 유용할 수 있습니다.

참고

Red Hat은 roxctl CLI를 사용하여 배포 구성 백업을 지원하지 않습니다. oc 또는 kubectl CLI를 사용하여 Central 인스턴스와 관련된 매니페스트를 백업하고 구성을 복원할 수 있습니다.

1.2.1. RHACS Operator를 사용하여 배포 백업

RHACS Operator를 사용하여 RHACS를 사용하는 경우 OpenShift Container Platform은 Central 사용자 지정 리소스 내에 중앙 배포의 모든 사용자 지정 구성을 저장합니다. Central 사용자 지정 리소스, central-tls 시크릿 및 관리자 암호를 백업할 수 있습니다. central-tls 시크릿에는 보안 클러스터 및 서명 API 토큰으로 인증하기 위한 인증서가 포함되어 있습니다.

절차

  1. 다음 명령을 실행하여 중앙 사용자 지정 리소스를 YAML 파일에 저장합니다.

    $ oc get central -n _<central-namespace>_ _<central-name>_ -o yaml > central-cr.yaml
  2. 다음 명령을 실행하여 central-tls 를 JSON 파일에 저장합니다.

    $ oc get secret -n _<central-namespace>_ central-tls -o json | jq 'del(.metadata.ownerReferences)' > central-tls.json
  3. JSON 파일의 관리자 암호에 다음 명령을 실행합니다.

    $ oc get secret -n _<central-namespace>_ central-htpasswd -o json | jq 'del(.metadata.ownerReferences)' > central-htpasswd.json

1.2.2. Helm을 사용하여 배포 백업

Helm 차트를 사용하여 RHACS를 설치할 때 중앙 배포의 모든 사용자 정의 구성을 Helm 차트에 적용하는 사용자 정의 값에 저장합니다.

사용자 지정 값을 백업하고 YAML 파일에 저장할 수 있습니다.

절차

  • 다음 명령을 실행하여 YAML 파일에서 사용자 정의 Helm 차트 값을 백업합니다.

    $ helm get values --all -n _<central-namespace>_ _<central-helm-release>_ -o yaml > central-values-backup.yaml

2장. 백업에서 복원

roxctl CLI(명령줄 인터페이스)를 사용하여 기존 백업에서 Red Hat Advanced Cluster Security for Kubernetes를 복원할 수 있습니다.

요구 사항 및 백업한 데이터에 따라 다음과 같은 백업 유형에서 복원할 수 있습니다.Depending on your requirements and the data you have backed up, you can restore from the following types of backups:

  1. 중앙 데이터베이스 백업에서 중앙 데이터베이스 복원: 데이터베이스 오류 또는 데이터 손상 이벤트에서 복구하려면 이 데이터베이스를 사용합니다. Central 데이터베이스를 이전 기능 상태로 복원 및 복구할 수 있습니다.
  2. Manage Central from the Central deployment backup: Central을 다른 클러스터 또는 네임스페이스로 마이그레이션하는 경우 이 방법을 사용합니다. 이 옵션은 중앙 설치의 구성을 복원합니다.

2.1. roxctl CLI를 사용하여 중앙 데이터베이스 복원

roxctl CLI를 사용하여 restore 명령을 사용하여 Red Hat Advanced Cluster Security for Kubernetes를 복원할 수 있습니다. 이 명령을 실행하려면 API 토큰 또는 관리자 암호가 필요합니다.

2.1.1. API 토큰을 사용하여 복원

API 토큰을 사용하여 RHACS의 전체 데이터베이스를 복원할 수 있습니다.

사전 요구 사항

  • RHACS 백업 파일이 있습니다.
  • 관리자 역할이 있는 API 토큰이 있습니다.
  • roxctl CLI를 설치했습니다.

절차

  1. 다음 명령을 실행하여 ROX_API_TOKENROX_ENDPOINT 환경 변수를 설정합니다.

    $ export ROX_API_TOKEN=<api_token>
    $ export ROX_ENDPOINT=<address>:<port_number>
  2. 다음 명령을 실행하여 중앙 데이터베이스를 복원합니다.

    $ roxctl central db restore <backup_file> 1
    1
    & lt;backup_file > 의 경우 복원할 백업 파일의 이름을 지정합니다.

2.1.2. 관리자 암호를 사용하여 복원

관리자 암호를 사용하여 RHACS의 전체 데이터베이스를 복원할 수 있습니다.

사전 요구 사항

  • RHACS 백업 파일이 있습니다.
  • 관리자 암호가 있습니다.
  • roxctl CLI를 설치했습니다.

절차

  1. 다음 명령을 실행하여 ROX_ENDPOINT 환경 변수를 설정합니다.

    $ export ROX_ENDPOINT=<address>:<port_number>
  2. 다음 명령을 실행하여 중앙 데이터베이스를 복원합니다.

    $ roxctl -p <admin_password> \1
      central db restore <backup_file> 2
    1
    & lt;admin_password& gt;는 관리자 암호를 지정합니다.
    2
    & lt;backup_file > 의 경우 복원할 백업 파일의 이름을 지정합니다.

2.1.3. 복원 작업 재시작

복원 작업 중에 연결이 중단되었거나 오프라인으로 전환해야 하는 경우 복원 작업을 다시 시작할 수 있습니다.

  • resume 작업을 실행하는 머신에 대한 액세스 권한이 없는 경우 roxctl central db restore status 명령을 사용하여 진행 중인 복원 작업의 상태를 확인할 수 있습니다.
  • 연결이 중단되면 roxctl CLI에서 연결을 다시 사용할 수 있는 즉시 작업을 자동으로 복원하려고 합니다. 자동 연결 재시도는 시간 초과 옵션에 지정된 기간에 따라 달라집니다.
  • --timeout 옵션을 사용하여 roxctl CLI에서 복원 작업을 재개하지 않는 시간(초, 분 또는 시간)을 지정합니다. 옵션을 지정하지 않으면 기본 제한 시간은 10분입니다.
  • 복원 작업이 중단되거나 취소하려는 경우 roxctl central db restore cancel 명령을 사용하여 실행 중인 복원 작업을 취소합니다.
  • 복원 작업이 중단된 경우 취소하거나 시간이 만료된 경우 원래 명령을 다시 실행하여 이전 복원을 다시 시작할 수 있습니다.
중요
  • 중단 중에 RHACS는 24시간 동안 지속적인 복원 작업을 캐시합니다. 원래 restore 명령을 다시 실행하여 이 작업을 다시 시작할 수 있습니다.
  • timeout 옵션은 클라이언트 측 연결 재시도만 제어하며 24시간의 서버 측 복원 캐시에는 영향을 미치지 않습니다.
  • 중앙 pod를 다시 시작하면 복원을 재개할 수 없습니다.
  • 복원 작업이 중단된 경우 24시간 이내에 재시작한 후 Central을 다시 시작해야 합니다. 그렇지 않으면 RHACS가 복원 작업을 취소합니다.

2.2. roxctl CLI를 사용하여 중앙 배포 복원

만든 백업을 사용하여 중앙 배포를 원래 구성으로 복원할 수 있습니다.

먼저 roxctl CLI를 사용하여 인증서를 복원한 다음 중앙 설치 스크립트를 실행하여 중앙 배포를 복원해야 합니다.

2.2.1. roxctl CLI를 사용하여 인증서 복원

roxctl CLI를 사용하여 RHACS Central 구성 요소를 클러스터에 설치하는 Kubernetes 매니페스트를 생성합니다. 이렇게 하면 보안 클러스터의 인증 인증서와 API 토큰이 복원된 버전에 유효한 상태로 유지됩니다. RHACS Central의 다른 인스턴스를 백업한 경우 해당 백업의 인증서 파일을 사용할 수 있습니다.

참고

roxctl CLI를 사용하면 전체 Central 배포를 복원할 수 없습니다. 대신 roxctl CLI를 사용하여 중앙 데이터 백업의 인증서를 사용하여 새 매니페스트를 생성합니다. 나중에 해당 매니페스트를 사용하여 Central을 설치합니다.

사전 요구 사항

  • Red Hat Advanced Cluster Security for Kubernetes 백업 파일이 있어야 합니다.
  • roxctl CLI가 설치되어 있어야 합니다.

절차

  1. 대화형 설치 명령을 실행합니다.

    $ roxctl central generate interactive
  2. 다음 프롬프트에서 Red Hat Advanced Cluster Security for Kubernetes 백업 파일의 경로를 입력합니다.

    Enter path to the backup bundle from which to restore keys and certificates (optional): _<backup-file-path>_
  3. 다음 프롬프트의 경우 Enter 를 눌러 기본값을 허용하거나 필요에 따라 사용자 지정 값을 입력합니다.

완료 시 대화형 설치 명령은 Central을 배포하는 데 필요한 YAML 매니페스트와 스크립트가 있는 central-bundle 이라는 폴더를 생성합니다.

2.2.2. 중앙 설치 스크립트 실행

대화형 설치 프로그램을 실행한 후 setup.sh 스크립트를 실행하여 Central을 설치할 수 있습니다.

절차

  1. setup.sh 스크립트를 실행하여 이미지 레지스트리 액세스를 구성합니다.

    $ ./central-bundle/central/scripts/setup.sh
  2. 필요한 리소스를 생성합니다.

    $ oc create -R -f central-bundle/central
  3. 배포 진행 상황을 확인합니다.

    $ oc get pod -n stackrox -w
  4. Central이 실행되면 RHACS 포털 IP 주소를 찾아 브라우저에서 엽니다. 프롬프트에 응답할 때 선택한 노출 방법에 따라 다음 방법 중 하나를 사용하여 IP 주소를 가져옵니다.

    노출 방법명령address예제

    경로

    oc -n stackrox get route central

    출력의 HOST/PORT 열에 있는 주소

    https://central-stackrox.example.route

    노드 포트

    oc get node -owide && oc -n stackrox get svc central-loadbalancer

    서비스에 표시된 포트에서 모든 노드의 IP 또는 호스트 이름

    https://198.51.100.0:31489

    로드 밸런서

    oc -n stackrox get svc central-loadbalancer

    서비스에 표시된 EXTERNAL-IP 또는 호스트 이름이 포트 443에서

    https://192.0.2.0

    없음

    central-bundle/central/scripts/port-forward.sh 8443

    https://localhost:8443

    https://localhost:8443

참고

대화형 설치 중에 자동 생성 암호를 선택한 경우 다음 명령을 실행하여 Central에 로그인할 때 이를 확인할 수 있습니다.

$ cat central-bundle/password

2.3. RHACS Operator를 사용하여 중앙 배포 복원

RHACS Operator를 사용하여 중앙 배포를 원래 구성으로 복원할 수 있습니다. 성공적으로 복원하려면 중앙 사용자 정의 리소스, central-tls 및 관리자 암호의 백업이 필요합니다.

사전 요구 사항

  • central-tls 백업 파일이 있어야 합니다.
  • 중앙 사용자 지정 리소스 백업 파일이 있어야 합니다.
  • 관리자 암호 백업 파일이 있어야 합니다.

절차

  1. central-tls 백업 파일을 사용하여 리소스를 생성합니다.

    $ oc apply -f central-tls.json
  2. central-htpasswd 백업 파일을 사용하여 보안을 생성합니다.

    $ oc apply -f central-htpasswd.json
  3. central-cr.yaml 파일을 사용하여 중앙 배포를 생성합니다.

    $ oc apply -f central-cr.yaml

2.4. Helm을 사용하여 중앙 배포 복원

Helm을 사용하여 중앙 배포를 원래 구성으로 복원할 수 있습니다. 성공적으로 복원하려면 중앙 사용자 정의 리소스, central-tls 시크릿 및 관리자 암호의 백업이 필요합니다.

사전 요구 사항

  • Helm 값 백업 파일이 있어야 합니다.
  • Red Hat Advanced Cluster Security for Kubernetes 백업 파일이 있어야 합니다.
  • roxctl CLI가 설치되어 있어야 합니다.

절차

  1. RHACS 데이터베이스 백업 파일에서 values-private.yaml 을 생성합니다.

    $ roxctl central generate k8s pvc --backup-bundle _<path-to-backup-file>_ --output-format "helm-values"
  2. helm install 명령을 실행하고 백업 파일을 지정합니다.

    $ helm install -n stackrox --create-namespace stackrox-central-services rhacs/central-services -f central-values-backup.yaml -f central-bundle/values-private.yaml

2.5. 중앙을 다른 클러스터 또는 네임스페이스로 복원

RHACS Central 데이터베이스 백업과 배포를 사용하여 Central을 다른 클러스터 또는 네임스페이스로 복원할 수 있습니다.

다음 목록은 설치 단계에 대한 간략한 개요를 제공합니다.

  1. 설치 방법에 따라 다음 주제의 지침에 따라 중앙 배포를 먼저 복원해야 합니다.

    중요
    • 이전 Central 인스턴스에서 발행한 보안 클러스터 및 API 토큰이 유효한 상태로 유지되도록 백업된 중앙 인증서를 사용해야 합니다.
    • 다른 네임스페이스에 배포하는 경우 백업 리소스 또는 명령에서 네임스페이스를 변경해야 합니다.
  2. roxctl CLI 주제를 사용하여 Restoring Central 데이터베이스의 명령을 따라 중앙 데이터베이스를 복원합니다.
  3. 이전 RHACS Central 인스턴스를 가리키는 외부 DNS 항목이 있는 경우 생성한 새 RHACS Central 인스턴스를 가리키도록 다시 구성해야 합니다.

법적 공지

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat 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 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.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.