8.2. 마이그레이션 준비
현재 Ansible Automation Platform 배포를 Ansible Automation Platform Operator로 마이그레이션하기 전에 기존 데이터를 백업하고 시크릿 키 및 postgresql 구성에 대한 k8s 시크릿을 생성해야 합니다.
자동화 컨트롤러 및 자동화 허브 인스턴스를 모두 마이그레이션하는 경우 시크릿 키 시크릿 생성 단계를 반복하고 둘 다에 대한 postgresql 구성 시크릿 생성 단계를 반복한 다음 Ansible Automation Platform Operator로 데이터를 마이그레이션 합니다.
8.2.1. 사전 요구 사항
Ansible Automation Platform 배포를 Ansible Automation Platform Operator로 마이그레이션하려면 다음이 있어야 합니다.
- 보안 키 보안
- PostgreSQL 구성
- 새 OpenShift 클러스터의 네임스페이스에 대한 역할 기반 액세스 제어
- 새 OpenShift 클러스터는 이전 PostgreSQL 데이터베이스에 연결할 수 있어야 합니다.
시크릿 키 정보는 초기 Red Hat Ansible Automation Platform 설치 중에 생성된 인벤토리 파일에 있을 수 있습니다. 시크릿 키를 기억하거나 인벤토리 파일을 찾는 데 문제가 없는 경우 Red Hat 고객 포털을 통해 Ansible 지원에 문의하십시오.
Ansible Automation Platform 2.x 또는 이전 버전에서 데이터를 마이그레이션하기 전에 손실 방지를 위해 데이터를 백업해야 합니다. 데이터를 백업하려면 다음을 수행합니다.
절차
- 현재 배포 프로젝트에 로그인합니다.
setup.sh를 실행하여 현재 데이터/배포의 백업을 생성합니다.
버전 2.x 이하의 온-프레미스 배포의 경우:
$ ./setup.sh -b
버전 2.0 이전의 OpenShift 배포의 경우 (operator 이외의 배포):
./setup_openshift.sh -b
8.2.2. 보안 키 시크릿 생성
OpenShift Container Platform의 Ansible Automation Platform Operator로 데이터를 마이그레이션하려면 초기 설치 중에 인벤토리 파일에 정의된 시크릿 키와 일치하는 시크릿 키를 생성해야 합니다. 그렇지 않으면 마이그레이션된 데이터는 마이그레이션 후에도 암호화되고 사용할 수 없습니다.
절차
- 이전 설치에서 AAP를 배포하는 데 사용한 인벤토리 파일에서 이전 시크릿 키를 찾습니다.
보안 키의 yaml 파일을 생성합니다.
apiVersion: v1 kind: Secret metadata: name: <resourcename>-secret-key namespace: <target-namespace> stringData: secret_key: <old-secret-key> type: Opaque
시크릿 키 yaml을 클러스터에 적용합니다.
oc apply -f <secret-key.yml>
8.2.3. postgresql 구성 시크릿 생성
마이그레이션이 성공하려면 기존 배포를 위해 데이터베이스에 대한 액세스 권한을 제공해야 합니다.
절차
postgresql 구성 시크릿의 yaml 파일을 생성합니다.
apiVersion: v1 kind: Secret metadata: name: <resourcename>-old-postgres-configuration namespace: <target namespace> stringData: host: "<external ip or url resolvable by the cluster>" port: "<external port, this usually defaults to 5432>" database: "<desired database name>" username: "<username to connect as>" password: "<password to connect with>" type: Opaque
- postgresql 구성 yaml을 클러스터에 적용합니다.
oc apply -f <old-postgres-configuration.yml>
8.2.4. 네트워크 연결 확인
데이터를 성공적으로 마이그레이션하려면 새 Operator 배포에서 이전 배포 데이터베이스로 네트워크 연결이 있는지 확인합니다.
사전 요구 사항
기존 배포의 호스트 및 포트 정보를 기록해 둡니다. 이 정보는 conf.d 디렉터리에 있는 postgres.py 파일에 있습니다.
절차
yaml 파일을 생성하여 새 배포 데이터베이스와 이전 배포 데이터베이스 간의 연결을 확인합니다.
apiVersion: v1 kind: Pod metadata: name: dbchecker spec: containers: - name: dbchecker image: registry.redhat.io/rhel8/postgresql-13:latest command: ["sleep"] args: ["600"]
연결 검사기 yaml 파일을 새 프로젝트 배포에 적용합니다.
oc project ansible-automation-platform oc apply -f connection_checker.yaml
연결 검사기 Pod가 실행 중인지 확인합니다.
oc get pods
Pod 쉘에 연결합니다.
oc rsh dbchecker
Pod에서 쉘 세션을 열고 나면 새 프로젝트가 이전 프로젝트 클러스터에 연결할 수 있는지 확인합니다.
pg_isready -h <old-host-address> -p <old-port-number> -U awx
예제
<old-host-address>:<old-port-number> - accepting connections