2.7. 외부 데이터베이스를 사용하여 Fuse Online 설치
외부 데이터베이스를 사용하여 연결 및 통합 정의를 유지하는 Fuse Online 환경을 설치하려면 다음을 수행합니다.
- OpenShift 클러스터가 찾을 수 있는 호스트 이름으로 postgreSQL 데이터베이스를 생성합니다.
-
Fuse Online을 설치하기 전에 외부 데이터베이스에 대해
syndesis-global-config라는 OpenShift 시크릿을 생성합니다. - Fuse Online을 설치합니다.
- Fuse Online을 배포하기 전에 사용자 지정 리소스를 편집하여 외부 데이터베이스에 대한 연결을 구성합니다.
사전 요구 사항
-
OCP 3.11에만
default-cr.yml파일을 편집하여 연결 및 통합 정의를 유지하기 위해 외부 데이터베이스 사용을 지정합니다. - Fuse Online은 아직 설치되지 않았습니다.
-
oc클라이언트 툴이 설치되고 Fuse Online을 설치하려는 OCP 클러스터에 연결되어 있습니다. - 클러스터 관리 권한이 있는 사용자는 클러스터에서 액세스할 수 있는 권한이 있는 모든 프로젝트에 Fuse Online을 설치할 수 있는 권한을 부여했습니다.
절차
Fuse Online을 설치할 수 있는 권한이 있는 계정으로 OpenShift에 로그인합니다. 예를 들면 다음과 같습니다.
oc login -u developer -p developerFuse Online을 설치하고 다음 구성 옵션에 대한 값을 정의하는 OpenShift 클러스터에서 사용할 수 있는 postgreSQL 데이터베이스를 만듭니다.
- 연결 사용자 이름
- 데이터베이스 이름
데이터베이스 암호
다음 예제에서는 OpenShift에서 기본적으로 제공하는 PostgreSQL 템플릿 중 하나를 사용합니다.
참고: 개발 또는 테스트 목적으로 PostgreSQL 임시(
postgresql-ephemeral) 템플릿만 사용합니다. 프로덕션 환경의 경우 PostgreSQL(postgresql) 템플릿을 사용합니다.oc new-app postgresql-ephemeral -p POSTGRESQL_USER=syndesis -p POSTGRESQL_PASSWORD=exdb-pwd -p POSTGRESQL_DATABASE=syndesisdb이 명령은 URL과 같이 Fuse Online을 구성할 때 필요한 데이터베이스에 대한 정보를 반환합니다.
데이터베이스 생성에 대한 자세한 내용은 OpenShift 문서의 PostgreSQL 항목을 참조하십시오.
다음 콘텐츠가 포함된 리소스 파일(예:
my-fuse-online-secret-cr.yml)을 생성하고 저장합니다.apiVersion: v1 kind: Secret metadata: name: syndesis-global-config namespace: my-fuse-online-project type: Opaque stringData: POSTGRESQL_PASSWORD: exdb-pwmy-fuse-online-project를 외부 데이터베이스를 지정하는 Fuse Online 환경을 설치하려는 OpenShift 프로젝트의 이름으로 바꿉니다.exdb-pw를 2 단계의 암호로 바꿉니다. Fuse Online에서는 외부 데이터베이스에 액세스하기 위한 암호로 사용합니다.stringData는 password 값을 base64로 인코딩된 값으로 변환하므로 변환을 수행할 필요가 없습니다.OpenShift 보안에 대한 자세한 내용은 시크릿을 참조하십시오.
클러스터에 보안을 추가합니다. 예를 들면 다음과 같습니다.
oc apply -f my-fuse-online-secret-cr.ymlOpenShift 클러스터에서는 외부 데이터베이스를 지정하는 사용자 지정 리소스와 함께 설치된 Fuse Online 환경에서
syndesis-global-config시크릿을 사용할 수 있습니다.보안에 대해
YAML파일에서 지정한my-fuse-online-project프로젝트에 Fuse Online을 설치합니다(단계 4).- OCP 3.11의 경우 Fuse Online을 설치하기 전에 기본 사용자 지정 리소스 파일 편집의 지침을 따르십시오.
OCP 4.6 이상의 경우 OperatorHub에서 Fuse Online Operator 설치 지침을 따르십시오. Fuse Online을 배포하기 전에 OpenShift 4.x 프로젝트에 Fuse Online 인스턴스 추가 에서 사용자 지정 리소스를 편집하여 외부 데이터베이스 사용을 지정합니다. 예를 들면 다음과 같습니다.
apiVersion: syndesis.io/v1alpha1 kind: Syndesis metadata: name: app spec: components: database: externalDbURL: "postgresql://syndesis-external-db:5432" user: db-user-name name: db-name-
syndesis-external-db:5432를 외부 PostgreSQL 데이터베이스의 호스트 이름 및 포트로 바꿉니다. -
db-user-name을 연결 사용자 이름으로 바꿉니다. -
db-name을 데이터베이스 이름으로 교체합니다.
결과
Fuse Online 설치 프로세스는 사용자 지정 리소스의 설정을 사용하여 설치된 Fuse Online 환경의 구성을 확인합니다.
올바르게 설치 및 배포하면 Fuse Online에서 syndesis-db 를 제외한 모든 필요한 Pod를 가져옵니다. syndesis-db 대신 syndesis-server 는 외부 데이터베이스의 서비스 이름으로 데이터베이스에 연결합니다. 외부 데이터베이스 구성이 올바르지 않으면 syndesis-server 가 초기화되지 않고 Fuse Online 배포가 오류로 끝납니다.