5.2.2. Red Hat Ansible Automation Platform Operator에서 자동화 컨트롤러를 위한 외부 데이터베이스 구성
외부 데이터베이스를 사용하여 Ansible Automation Platform을 배포하려는 사용자의 경우 인스턴스 인증 정보 및 연결 정보를 사용하여 시크릿을 구성한 다음 oc create 명령을 사용하여 클러스터에 적용할 수 있습니다.
기본적으로 Ansible Automation Platform Operator는 Ansible Automation Platform 배포와 동일한 네임스페이스에서 관리형 PostgreSQL Pod를 자동으로 생성하고 구성합니다. Ansible Automation Platform Operator가 자동으로 생성하는 관리형 PostgreSQL Pod 대신 외부 데이터베이스를 사용하여 Ansible Automation Platform을 배포할 수 있습니다.
외부 데이터베이스를 사용하면 리소스를 공유 및 재사용하고 백업, 업그레이드 및 성능 최적화를 수동으로 관리할 수 있습니다.
데이터베이스 이름이 다른 한 자동화 허브, 자동화 컨트롤러 및 플랫폼 게이트웨이 모두에 동일한 외부 데이터베이스(PostgreSQL 인스턴스)를 사용할 수 있습니다. 즉, 단일 PostgreSQL 인스턴스 내에 다른 이름으로 여러 데이터베이스를 가질 수 있습니다.
다음 섹션에서는 Ansible Automation Platform Operator에서 자동화 컨트롤러에 대한 외부 데이터베이스를 구성하는 단계를 간략하게 설명합니다.
사전 요구 사항
외부 데이터베이스는 현재 Ansible Automation Platform 릴리스에서 지원하는 버전인 PostgreSQL 데이터베이스여야 합니다. 외부 postgres 인스턴스 자격 증명 및 연결 정보는 시크릿에 저장해야 하며, 그런 다음 자동화 컨트롤러 사양에 설정됩니다.
Ansible Automation Platform 2.5는 PostgreSQL 15를 지원합니다.
프로세스
아래 템플릿에 따라
postgres_configuration_secretYAML 파일을 생성합니다.apiVersion: v1 kind: Secret metadata: name: external-postgres-configuration namespace: <target_namespace>1 stringData: host: "<external_ip_or_url_resolvable_by_the_cluster>"2 port: "<external_port>"3 database: "<desired_database_name>" username: "<username_to_connect_as>" password: "<password_to_connect_with>"4 sslmode: "prefer"5 type: "unmanaged" type: Opaque- 시크릿을 생성할 네임스페이스입니다. 배포하려는 네임스페이스와 동일해야 합니다.
- 데이터베이스 노드의 확인 가능한 호스트 이름입니다.
-
외부 포트의 기본값은
5432입니다. -
변수
암호의 값에는 배포, 백업 또는 복원 중에 문제가 발생하지 않도록 작은따옴표 또는 큰따옴표(', ") 또는 백슬래시(\)가 없어야 합니다. -
sslmode변수는외부데이터베이스에만 유효합니다. 허용되는 값은prefer,disable,allow,require,verify-ca,verify-full입니다.
oc create명령을 사용하여external-postgres-configuration-secret.yml을 클러스터에 적용합니다.$ oc create -f external-postgres-configuration-secret.ymlAnsibleAutomationPlatform사용자 정의 리소스 오브젝트를 생성할 때 아래 예에 따라 사양의controller섹션에 시크릿을 지정합니다.apiVersion: aap.ansible.com/v1alpha1 kind: AnsibleAutomationPlatform metadata: name: myaap spec: controller: name: controller-dev # Optional: specify existing instance or custom name postgres_configuration_secret: external-postgres-configuration참고기존 자동화 컨트롤러 인스턴스가 있는 경우
controller.name아래에 해당 이름을 지정하여 이러한 설정을 기존 인스턴스에 적용합니다.name필드를 생략하면 Operator는 기본 이름 패턴 <aap-instance-name>-controller를 사용하여 새 인스턴스를 생성합니다.Ansible Automation Platform 사용자 정의 리소스의 예제는 부록: Red Hat Ansible Automation Platform 사용자 정의 리소스를 참조하십시오.