3.3. 데이터베이스 구성
3.3.1. 기존 Postgres 데이터베이스 사용 링크 복사링크가 클립보드에 복사되었습니다!
필요한 데이터베이스 필드를 사용하여 구성 파일
config.yaml을 생성합니다.config.yaml:
DB_URI: postgresql://test-quay-database:postgres@test-quay-database:5432/test-quay-database구성 파일을 사용하여 보안을 생성합니다.
$ kubectl create secret generic --from-file config.yaml=./config.yaml config-bundle-secretpostgres구성 요소를 Unmanaged로 표시하고 생성된 Secret을 참조하는 QuayRegistry YAML 파일quayregistry.yaml을 생성합니다.quayregistry.yaml
apiVersion: quay.redhat.com/v1 kind: QuayRegistry metadata: name: example-registry namespace: quay-enterprise spec: configBundleSecret: config-bundle-secret components: - kind: postgres managed: false- 다음 섹션에 설명된 대로 레지스트리를 배포합니다.
3.3.2. 데이터베이스 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 Red Hat Quay 배포에 사용할 수 있는 데이터베이스 구성 필드에 대해 설명합니다.
3.3.2.1. 데이터베이스 URI 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Quay를 사용하면 필수 DB_URI 필드를 사용하여 데이터베이스에 대한 연결이 구성됩니다.
다음 표에서는 DB_URI 구성 필드에 대해 설명합니다.
| 필드 | 유형 | 설명 |
|---|---|---|
|
DB_URI | 문자열 | 자격 증명을 포함하여 데이터베이스에 액세스하기 위한 URI입니다.
postgresql://quayuser:quaypass@quay-server.example.com:5432/quay |
3.3.2.2. 데이터베이스 연결 인수 링크 복사링크가 클립보드에 복사되었습니다!
선택적 연결 인수는 DB_CONNECTION_ARGS 매개변수에 의해 구성됩니다. DB_CONNECTION_ARGS 에 정의된 일부 키-값 쌍은 일반적이지만 다른 값은 데이터베이스에 따라 다릅니다.
다음 표에서는 데이터베이스 연결 인수를 설명합니다.
| 필드 | 유형 | 설명 |
|---|---|---|
| DB_CONNECTION_ARGS | 개체 | 시간 제한 및 SSL과 같은 데이터베이스에 대한 선택적 연결 인수입니다. |
| .autorollback | 부울 |
스레드 로컬 연결 사용 여부입니다. |
| .threadlocals | 부울 |
자동 롤백 연결을 사용할지 여부입니다. |
3.3.2.2.1. PostgreSQL SSL 연결 인수 링크 복사링크가 클립보드에 복사되었습니다!
SSL을 사용하면 구성은 배포 중인 데이터베이스에 따라 다릅니다. 다음 예제에서는 PostgreSQL SSL 구성을 보여줍니다.
DB_CONNECTION_ARGS:
sslmode: verify-ca
sslrootcert: /path/to/cacert
sslmode 옵션은 보안 SSL TCP/IP 연결이 서버와 협상될 우선 순위를 지정할지 여부를 결정합니다. 여섯 가지 모드가 있습니다.
| mode | 설명 |
|---|---|
| disable | 구성에서는 SSL이 아닌 연결만 시도합니다. |
| allow | 구성이 먼저 비SSL 연결을 시도합니다. 실패하면 SSL 연결을 시도합니다. |
|
| 구성에서 먼저 SSL 연결을 시도합니다. 실패 시 SSL이 아닌 연결을 시도합니다. |
| require | 구성에서는 SSL 연결만 시도합니다. 루트 CA 파일이 있는 경우 verify-ca가 지정된 것과 동일한 방식으로 인증서를 확인합니다. |
| verify-ca | 구성은 SSL 연결만 시도하며 신뢰할 수 있는 CA(인증 기관)에서 서버 인증서를 발급하는지 확인합니다. |
| verify-full | SSL 연결만 시도하고 서버 인증서가 신뢰할 수 있는 CA에서 발급하고 요청된 서버 호스트 이름이 인증서의 항목과 일치하는지 확인합니다. |
PostgreSQL에 대한 유효한 인수에 대한 자세한 내용은 데이터베이스 연결 제어 기능을 참조하십시오.
3.3.2.2.2. MySQL SSL 연결 인수 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제에서는 샘플 MySQL SSL 구성을 보여줍니다.
DB_CONNECTION_ARGS:
ssl:
ca: /path/to/cacert
MySQL의 유효한 연결 인수에 대한 정보는 URI-Like Strings 또는 Key-Value pairs를 사용하여 서버에 연결할 때 사용할 수 있습니다.
3.3.3. 관리되는 PostgreSQL 사용 링크 복사링크가 클립보드에 복사되었습니다!
권장 사항:
- 데이터베이스 백업은 Postgres 이미지 또는 자체 백업 인프라에서 제공된 툴을 사용하여 정기적으로 수행해야 합니다. Operator는 현재 Postgres 데이터베이스를 백업하지 않습니다.
-
Postgres 툴 및 프로시저를 사용하여 백업에서 Postgres 데이터베이스 복원을 수행해야 합니다. 데이터베이스 복원이 진행되는 동안 Quay
포드가실행되지 않아야 합니다. - 데이터베이스 디스크 공간은 50GiB를 사용하여 Operator에서 자동으로 할당합니다. 이 숫자는 중소 규모의 Red Hat Quay 설치에 사용할 수 있는 스토리지 용량을 나타내지만 사용 사례에는 충분하지 않을 수 있습니다. 현재 데이터베이스 볼륨 크기 조정은 Operator에서 처리되지 않습니다.