6.4. Ansible Automation Platform Operator에서 자동화 허브를 위한 외부 데이터베이스 구성
외부 데이터베이스를 사용하여 Ansible Automation Platform을 배포하려는 사용자의 경우 인스턴스 인증 정보 및 연결 정보를 사용하여 시크릿을 구성한 다음 oc create
명령을 사용하여 클러스터에 적용할 수 있습니다.
기본적으로 Ansible Automation Platform Operator는 Ansible Automation Platform 배포와 동일한 네임스페이스에서 관리형 PostgreSQL Pod를 자동으로 생성하고 구성합니다.
전용 노드를 사용하여 전용 리소스를 확인하거나 백업, 업그레이드 또는 성능 조정을 수동으로 관리하려는 경우 외부 데이터베이스를 대신 사용할 수 있습니다.
데이터베이스 이름이 다른 경우 동일한 외부 데이터베이스(PostgreSQL 인스턴스)를 자동화 허브 및 자동화 컨트롤러에 사용할 수 있습니다. 즉, 단일 PostgreSQL 인스턴스 내에 다른 이름으로 여러 데이터베이스를 가질 수 있습니다.
다음 섹션에서는 Ansible Automation Platform Operator에서 자동화 허브에 대한 외부 데이터베이스를 구성하는 단계를 간략하게 설명합니다.
사전 요구 사항
외부 데이터베이스는 현재 Ansible Automation Platform 릴리스에서 지원하는 버전인 PostgreSQL 데이터베이스여야 합니다.
Ansible Automation Platform 2.5는 PostgreSQL 15를 지원합니다.
프로세스
외부 postgres 인스턴스 자격 증명 및 연결 정보는 시크릿에 저장해야 하며 자동화 허브 사양에 설정됩니다.
아래 템플릿에 따라
postgres_configuration_secret
YAML 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: v1 kind: Secret metadata: name: external-postgres-configuration namespace: <target_namespace> stringData: host: "<external_ip_or_url_resolvable_by_the_cluster>" port: "<external_port>" database: "<desired_database_name>" username: "<username_to_connect_as>" password: "<password_to_connect_with>" sslmode: "prefer" type: "unmanaged" type: Opaque
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
oc create
명령을 사용하여external-postgres-configuration-secret.yml
을 클러스터에 적용합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f external-postgres-configuration-secret.yml
$ oc create -f external-postgres-configuration-secret.yml
AutomationHub
사용자 정의 리소스 오브젝트를 생성할 때 아래 예에 따라 사양에 보안을 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: automationhub.ansible.com/v1beta1 kind: AutomationHub metadata: name: hub-dev spec: postgres_configuration_secret: external-postgres-configuration
apiVersion: automationhub.ansible.com/v1beta1 kind: AutomationHub metadata: name: hub-dev spec: postgres_configuration_secret: external-postgres-configuration
6.4.1. 자동화 허브 PostgreSQL 데이터베이스의 hstore 확장 활성화
Ansible Automation Platform 2.5에 추가된 데이터베이스 마이그레이션 스크립트는 hstore
필드를 사용하여 정보를 저장하므로 자동화 허브 PostgreSQL 데이터베이스에 대한 hstore
확장을 활성화해야 합니다.
이 프로세스는 Ansible Automation Platform 설치 프로그램 및 관리형 PostgreSQL 서버를 사용할 때 자동으로 수행됩니다.
PostgreSQL 데이터베이스가 외부인 경우 자동화 허브를 설치하기 전에 수동으로 hstore
확장을 자동화 허브 PostreSQL 데이터베이스로 활성화해야 합니다.
자동화 허브를 설치하기 전에 hstore
확장 기능을 활성화하지 않으면 데이터베이스 마이그레이션 중에 오류가 발생합니다.
프로세스
PostgreSQL 서버(자동화 허브 데이터베이스)에서 확장을 사용할 수 있는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow psql -d <automation hub database> -c "SELECT * FROM pg_available_extensions WHERE name='hstore'"
$ psql -d <automation hub database> -c "SELECT * FROM pg_available_extensions WHERE name='hstore'"
여기서 <
automation hub database>의 기본값
은automationhub
입니다.hstore
를 사용할 수 있는 출력 예:Copy to Clipboard Copied! Toggle word wrap Toggle overflow name | default_version | installed_version |comment ------+-----------------+-------------------+--------------------------------------------------- hstore | 1.7 | | data type for storing sets of (key, value) pairs (1 row)
name | default_version | installed_version |comment ------+-----------------+-------------------+--------------------------------------------------- hstore | 1.7 | | data type for storing sets of (key, value) pairs (1 row)
hstore
를 사용할 수 없는 출력 예:Copy to Clipboard Copied! Toggle word wrap Toggle overflow name | default_version | installed_version | comment ------+-----------------+-------------------+--------- (0 rows)
name | default_version | installed_version | comment ------+-----------------+-------------------+--------- (0 rows)
RHEL 기반 서버에서
hstore
확장은postgresql-contrib
RPM 패키지에 포함되어 있으며 PostgreSQL 서버 RPM 패키지를 설치할 때 자동으로 설치되지 않습니다.RPM 패키지를 설치하려면 다음 명령을 사용하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnf install postgresql-contrib
dnf install postgresql-contrib
다음 명령을 사용하여 자동화 허브 데이터베이스에
hstore
PostgreSQL 확장을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow psql -d <automation hub database> -c "CREATE EXTENSION hstore;"
$ psql -d <automation hub database> -c "CREATE EXTENSION hstore;"
결과는 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CREATE EXTENSION
CREATE EXTENSION
다음 출력에서
installed_version
필드에는hstore
가 활성화되었음을 나타내는hstore
확장이 포함되어 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow name | default_version | installed_version | comment -----+-----------------+-------------------+------------------------------------------------------ hstore | 1.7 | 1.7 | data type for storing sets of (key, value) pairs (1 row)
name | default_version | installed_version | comment -----+-----------------+-------------------+------------------------------------------------------ hstore | 1.7 | 1.7 | data type for storing sets of (key, value) pairs (1 row)