단일 PostgreSQL 데이터베이스 및 Redis 노드를 공유하는 여러 RaaS 노드를 구성할 수 있습니다. 이 방법을 클러스터링이라고도 합니다.
이 지침은 단일 노드 설치 시나리오를 사용하여 기본 RaaS 노드에 PostgreSQL 및 Redis 서비스를 설치하는 방법을 보여줍니다.
참고: 일부 고가용성 요구 사항에는 컨설팅 서비스가 필요할 수 있습니다.
시작하기 전에
여러 RaaS 노드를 설정하려면 모든 RaaS 노드가 다음을 충족해야 합니다.
- 동일한 PostgreSQL 데이터베이스에 액세스
- 동일한 키 공간 공유
- 동일한
/etc/raas/pki/.raas.key
및/etc/raas/raas.secconf
파일 사용
여러 RaaS 노드를 구성하기 전에 단계에 따라 단일 노드 설치 시나리오를 사용하여 두 개의 독립형 RaaS 노드를 설치합니다. 이 시나리오가 끝나면 두 노드 모두 독립형 모드에서 SaltStack Config를 실행하게 됩니다. 즉, 각 노드에 PostgreSQL 및 Redis의 자체 로컬 버전이 있어야 합니다.
기본 RaaS 노드 구성
첫 번째 RaaS 노드를 구성하려면:
- 단계에 따라 1000개 미만의 노드에 SaltStack Config 설치 시나리오를 사용하여 두 개의 독립형 RaaS 노드를 설치합니다. 이 시나리오가 끝나면 두 노드 모두 독립형 모드에서 SaltStack Config를 실행하게 됩니다. 즉, 각 노드에 PostgreSQL 및 Redis의 자체 로컬 버전이 있어야 합니다.
- 첫 번째 RaaS 노드에서 다음 명령을 사용하여 RaaS, Redis 및 PostgreSQL 서비스를 중지합니다.
systemctl stop raas systemctl stop redis systemctl stop postgresql-12
참고:다른 버전을 실행하는 경우 PostgreSQL을 중지하는 명령이 다를 수 있습니다.
- 첫 번째 RaaS 노드에서 다른 RaaS 노드의 원격 연결을 허용하도록
postgresqlpg_hba.conf
파일을 업데이트합니다. 원격 연결을 허용하려면 해당 파일의 끝에 다음 항목을 추가하고 예제 IP 주소를 두 번째 RaaS 노드의 IP 주소로 대체합니다.# Allow connection from RaaS 2 host all all 127.31.4.137/32 trust
- 모든 인터페이스에 바인딩을 허용하도록
/etc/redis.conf
파일을 업데이트합니다. 기본적으로 바인딩은 localhost로 설정됩니다. 파일에 다음을 추가합니다.#bind 127.0.0.1
- 다음 명령을 사용하여 서비스를 시작하고 상태를 확인합니다.
systemctl start postgresql-12 systemctl status postgresql-12 systemctl start redis systemctl status redis systemctl start raas systemctl status raas
- 첫 번째 RaaS 노드의 URL을 사용하여 SaltStack Config 사용자 인터페이스에 액세스하여 SaltStack Config가 첫 번째 노드에서 올바르게 작동하고 있는지 확인합니다.
두 번째 RaaS 노드 구성
이 섹션에서는 두 번째 RaaS 노드가 기본 RaaS 노드와 작동하도록 구성하는 방법을 설명합니다.
두 번째 RaaS 노드를 구성하려면:
- 두 번째 RaaS 노드에서 다음 명령을 사용하여 RaaS, Redis 및 PostgreSQL 서비스를 중지합니다.
systemctl stop raas systemctl stop redis systemctl stop postgresql-12
- 두 번째 RaaS 노드에서
/etc/raas/raas
파일을 업데이트하여 첫 번째 RaaS 노드의 원격 Redis 및 PostgreSQL 서비스에 연결합니다.customer_id
구성은 두 노드에서 동일해야 합니다. 다음은 구성 예시입니다.customer_id: 43cab1f4-de60-4ab1-85b5-1d883c5c5d09 sql: dialect: postgresql host: 172.31.8.237 port: 5432 driver: psycopg2 ssl: True redis: url: redis://172.31.8.237:6379
/etc/raas/pki/.raas.key
및/etc/raas/secconf
를 첫 번째 노드에서 두 번째 노드로 복사합니다. 이 예제와 같이 액세스 및 사용 권한을 유지합니다.# ls -l /etc/raas/raas.secconf -rw-------. 1 raas raas 313 Jan 2117:21 /etc/raas/raas.secconf # ls -l /etc/raas/pki/.raas.key -rwx------. 1 raas raas 77 Jan 2117:17 /etc/raas/pki/.raas.key
- 다음 명령을 사용하여 RaaS 서비스를 시작하고 상태를 확인합니다.
systemctl start raas systemctl status raas
- 두 번째 RaaS 노드의 URL을 사용하여 SaltStack Config 사용자 인터페이스에 액세스하여 SaltStack Config가 두 번째 노드에서 올바르게 작동하고 있는지 확인합니다.
구성 테스트
새 시스템 아키텍처가 제대로 작동하는지 테스트하려면:
- 구성을 테스트하려면 새 개체(예: 새 대상)를 생성합니다. 사용자 인터페이스를 새로 고칠 때 두 노드 모두에 변화가 있는지 확인합니다.
- 두 번째 RaaS 노드에서 다음 명령을 사용하여 Redis 및 PostgreSQL 서비스를 사용하지 않도록 설정합니다.
systemctl disable redis systemctl disable postgresql-12